Spring单元测试
必须添加的依赖
<!-- Spring 单元测试 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.3.18</version>
</dependency
使用Junit5测试
<!-- 单元测试Junit -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.8.2</version>
</dependency>
注:
Mapper层测试所使用的注解:
@ExtendWith(SpringExtension.class)
@ContextConfiguration("/mybatis.xml")// 此处为Spring配置信息拆分后mybatis相关配置信息
Service所使用的注解:
@ExtendWith(SpringExtension.class)
@ContextConfiguration({"/spring.xml", "/mybatis.xml"})
测试代码
import com.xxx.dao.ProvinceDao;
import com.xxx.domain.Province;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import javax.annotation.Resource;
@ExtendWith(SpringExtension.class)
@ContextConfiguration({"/spring.xml", "/mybatis.xml"})
class ProvinceDaoImplTest {
@Resource
ProvinceDao provinceDao;
@Test
void insert() {
Province province = Province.builder()
.name("henan")
.area("zhong")
.priority(1)
.build();
System.out.println(provinceDao.insert(province));
}
@Test
void update() {
Province province = Province.builder()
.id(48)
.name("henan2")
.area("zhong2")
.priority(1)
.build();
System.out.println(provinceDao.update(province));
}
@Test
void delete() {
System.out.println(provinceDao.delete(48));
}
@Test
void selectById() {
System.out.println(provinceDao.selectById(1));
}
@Test
void selectCount() {
System.out.println(provinceDao.selectCount());
}
@Test
void selectPage() {
provinceDao.selectPage(1, 10).forEach(System.out::println);
}
}
报错1:
可能会出现的问题:没有将文件注入。解决方法:在配置文件中添加自动扫描进行注入。
使用Junit4测试
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
</dependency>
测试代码
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/applicationContext.xml")
public class EmpMapperTest {
@Resource
private EmpMapper empMapper;
@Test
public void selectByPrimaryKey() {
Emp emp = empMapper.selectByPrimaryKey(7788);
System.out.println(emp);
}
}