Spring 的测试框架为我们提供一个强大的测试环境,解决日常单元测试中遇到的大部分测试难题:如运行多个测试用例和测试方法时,Spring上下文只需创建一次:数据库现场不受破坏:方便手工指定Spring配置文件.手工设定Spring容器是否需要重新加载等.但也存在不足的地方,基本上所有的Java应用都涉及数据库,带数据库应用系统的测试难点在于数据库测试数据的准备.维护.验证及清理.Spring 测试框架并不能很好地解决所有问题.要解决这些问题,必须整合多方资源,如DbUnit.Unitils.M
应该测试 DAO 层吗? 网上有很多人讨论单元测试是否应该包含 DAO 层的测试.笔者觉得,对于一些主要是crud的业务来说,service层和controller层都会非常薄,而主要的逻辑都落在mapper上.这时候对service层和controller层写单测没有太多意义.可以只写mapper层的单测. 另一方面,mapper层的测试可以有效地避免一些低级的sql错误. 定义单测 单元测试是只针对一个单元的测试,比如说,一个 Service 类的一个每个公共函数.而这个函数所有调用了外部依