单元测试目的
- 发现代码中的错误:在编写代码时,程序员可能会引入各种逻辑错误、边界条件处理不当等问题。通过编写单元测试,可以模拟各种输入场景,对方法的输出结果进行验证,从而在开发早期发现并修复这些错误,避免错误在后续的开发过程中被放大,降低修复成本。
- 快速反馈:单元测试可以在开发过程中提供快速的反馈。当程序员完成一个方法或对现有代码进行修改后,立即运行单元测试,就能迅速知道代码是否正常工作,而不需要进行复杂的集成测试或部署到生产环境中进行验证。
引入依赖
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.200</version>
<scope>test</scope>
</dependency>
注意:此处<scope>
为test
,依赖无法被继承到子模块,所以需要每个模块都引入h2依赖。
新增application-test.yml在测试的 classpach 下
spring:
datasource:
url: jdbc:h2:mem:nfturbo
username: sa
password: password
driver-class-name: org.h2.Driver
h2-console-setting: INIT=RUNSCRIPT FROM 'classpath:schema.sql'
此处的'classpath:schema.sql'
对应项目中使用的建表语句文件
单元测试代码
@ActiveProfiles("test")
public class MybatisTest extends BaseTest {
@Autowired
private UserMapper userMapper;
@Test
public void testMybatis() {
userMapper.findById(1L);
}
}