springboot整合Junit单元测试
- 创建项目
- 修改pom文件
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.SR1</spring-cloud.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>
<dependencies>
<!-- spring-boot启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 添加junit环境的jar -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
- 编写测试业务
1、在持久层输出一条语句代替。模拟。
2、@Repository
写在持久层类上。
3、写service业务。
@Repository
public class UserDao {
public void saveUser() {
System.out.println("insert into users ......");
}
}
@Service
public class UsersServiceImpl {
@Autowired
private UserDao userDao;
public void addUser() {
this.userDao.saveUser();
}
}
- 启动器类
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
- 使用springboot整合junit进行单元测试。
在
src/test/java
包下新建测试类。如:com.x.test.UsersServiceTest
。
/**
* springboot测试类:
*
* @RunWith: 启动器类。
* SpringJUnit4ClassRunner.class: 让spring和junit进行整合。
*
* @SpringBootTest(classes={App.class}): 1、当前类为springboot的测试类;
* 2、加载SpringBoot启动类,启动SpringBoot;
*/
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes={App.class})
public class UsersServiceTest {
@Autowired
private UsersServiceImpl usersServiceImpl;
@Test
public void testAddUser() {
this.usersServiceImpl.addUser();
}
}