一、单元测试为什么要针对Dao层呢?
其实,Dao层的单元测试,目的在于保证数据交互的准确无误,有了这个基础,那么上层的单元测试才有更高的可靠性!
二、步骤说明
- 准备好测试数据的sql脚本文件,存放在test/resource/ 目录下。当然,为了方便管理,建议按照功能模块建立细分目录,如banner。执行insert操作前,务必先执行 truncate table tableName;以防出现主键冲突等情况
- Dao层的测试case主要针对每个method进行测试即可,即只有一个test class
- 通过 @Sql("classpath:/sql/admin/homevisit/adminHomeVisitDAOTests.sql") 引入测试数据
- 期望数据可以手动敲定,也可以通过@Before注解,提前准备好期望数据项。
- 通过@Autowired 注入Dao
- 一般地,使用Assertions进行数据校验
有关Dao层test case 构建见以下代码块:
/**
* @Description
* @Author blake
* @Date 2019-01-28 15:47
* @Version 1.0
*/
@RunWith(SpringRunner.class)
@WebAppConfiguration
@SpringBootTest
@Transactional
@Sql("classpath:/sql/admin/homevisit/adminHomeVisit