У меня есть юнит-тесты в моем проекте springboot в дополнение к тесту приложения по умолчанию, который поставляется вместе с комплектом проектов, когда я создаю проект из start.spring.io. Когда я запускаю mvn test
из командной строки, я вижу, что запускаются только тесты приложений по умолчанию, но не написанные мной модульные тесты. Тем не менее, я могу запустить эти тесты от IntelliJ. Я использую версию maven 3.6.2
и версию плагина maven surefire 2.22.2
. Может кто-нибудь дать мне знать, что мне здесь не хватает? Спасибо.
Вот мой тестовый класс:
@RunWith(SpringRunner.class)
@SpringBootTest
public class BranchServiceUnitTest {
@Autowired
private BranchService branchService;
@MockBean
private BranchRepository branchRepository;
@Test
public void testAddNewBranch() {
Branch testBranch = new Branch();
testBranch.setBranchName("TestBranch");
testBranch.setCity("TestCity");
testBranch.setContactNumber("TestContactNumber");
testBranch.setEmailId("TestEmailId");
Mockito.when(branchRepository.save(testBranch)).thenReturn(testBranch);
Branch addedBranch = branchService.addBranch(testBranch);
assertThat(addedBranch.getCity()).isEqualTo("TestCity");
}
@Test
public void findBranchById() {
Branch testBranch = new Branch();
testBranch.setId(1);
testBranch.setBranchName("TestBranch");
testBranch.setCity("TestCity");
testBranch.setContactNumber("TestContactNumber");
testBranch.setEmailId("TestEmailId");
Mockito.when(branchRepository.findById(testBranch.getId())).thenReturn(java.util.Optional.of(testBranch));
Branch foundBranch = branchService.getBranchById(1);
assertThat(foundBranch.getId()).isEqualTo(1);
}
@Test
public void testGetAllBranches() {
Branch testBranch1 = new Branch();
testBranch1.setId(1);
testBranch1.setBranchName("TestBranch");
testBranch1.setCity("TestCity");
testBranch1.setContactNumber("TestContactNumber");
testBranch1.setEmailId("TestEmailId");
Branch testBranch2 = new Branch();
testBranch2.setId(2);
testBranch2.setBranchName("TestBranch");
testBranch2.setCity("TestCity");
testBranch2.setContactNumber("TestContactNumber");
testBranch2.setEmailId("TestEmailId");
List<Branch> branches = Arrays.asList(testBranch1,testBranch2);
Mockito.when(branchRepository.findAll()).thenReturn(branches);
assertThat(branches.size()).isEqualTo(2);
assertThat(branches.get(0).getId()).isEqualTo(1);
}
}
Ниже мой файл pom:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.rkasibha</groupId>
<artifactId>rentabook</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>rentabook</name>
<description>Rent a book service</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>2.3.6</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>