SpringBoot的单元测试Junit
单元测试,测试代码,准确并快速保存程序某个模块的正确性
SpringBoot中的测试需要加的注解
@RunWith:启动器
SpringJUnit4ClassRunner.class:让Junit与Spring环境进行整合
@SpringBootTest(classes = {JunitApplication.class})
含义: 1.当前类为SpringBoot的测试类
2.加载SpringBoot启动类,启动SpringBoot
Junit与Spring整合@Contextconfiguation("classpath:applicationContext.xml")
pom.xml添加Junit的依赖包
<dependencies>
<!-- web启动器 -->
<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>
启动类
package com.kevin;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author kevin
* @version 1.0
* @description 启动类
* 测试在src/test/java中
* @createDate 2019/3/20
*/
@SpringBootApplication
public class JunitApplication {
public static void main(String[] args) {
SpringApplication.run(JunitApplication.class,args);
}
}
Dao层
package com.kevin.dao;
import org.springframework.stereotype.Repository;
/**
* @author kevin
* @version 1.0
* @description
* @createDate 2019/3/20
*/
@Repository
public class UserDaoImpl {
public void saveUser(){
System.out.println("insert into users...");
}
}
Service层
package com.kevin.service;
import com.kevin.dao.UserDaoImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author kevin
* @version 1.0
* @description
* @createDate 2019/3/20
*/
@Service
public class UserServiceImpl {
@Autowired
private UserDaoImpl userDaoImpl;
public void addUser(){
this.userDaoImpl.saveUser();
}
}
在src/test/java中做测试
package com.kevin.test;
import com.kevin.JunitApplication;
import com.kevin.service.UserServiceImpl;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* @author kevin
* @version 1.0
* @description springboot测试类
*
* @RunWith:启动器
* SpringJUnit4ClassRunner.class:让Junit与Spring环境进行整合
* @SpringBootTest(classes = {JunitApplication.class})
* 含义: 1.当前类为SpringBoot的测试类
* 2.加载SpringBoot启动类,启动SpringBoot
* Junit与Spring整合@Contextconfiguation("classpath:applicationContext.xml")
*
* @createDate 2019/3/20
*/
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = {JunitApplication.class}) // 可以设置多个启动器,逗号分隔
public class UserServiceTest {
@Autowired
private UserServiceImpl userServiceImpl;
@Test
public void testAddUser(){
userServiceImpl.addUser();
}
}