Unitils 是一个致力于使单元测试简单和易维护的开源库。Unitils 在一些现有的开源库之上构建,如dbunit,junit,testng. Unitils 提供常用的断言功能,支持数据库测试,只是mock对象的测试,并且可以和spring,hibernate 的集成,并支持jpa.Unitil让你可以通过配置在单元测试中轻松的使用这些功能。而且可以很容易的添加或扩展你需要的功能。
Unitils 特性:
- 常用的测试功能
- 通过反射的等值断言,可以通过不同的选项来忽略java 的null以及忽略集合中的数据顺序。
- Mock 对象的支持
- 通过简单的语法,动态定义mock对象的桩行为和验证mock对象的调用。
- 最佳的反馈信息,包含简单的可扩展执行的脚步报告和建议断言描述。
- 使用参数匹配器来放松方法对调用参数的约束and mix them with concrete objects.当实际的参数值不重要的时候使用null代替。
- 持久层支持
- 自动维护数据库,支持自增,repeatable and post processing scripts.??
- 自动取消数据库约束并且设置序列起始置为最小。
- 支持的数据库:oracle hsqldb,mysql,db2,postgresql,mssql ,derby.
- 简单的测试书库连接设置。
- 简单的使用dbunit插入测试数据
- 以事务的方式运行测试
- JPA实体管理建立和注入为hibernate ,toplink 和openjpa
- hibernate sessionfactory 建立和session 管理。
- 自动测试对象的jpa 实体/hibernate 对象和数据库的映射。
- EasyMock 集成支持
- 简单的建立EasyMock 模拟对象
- 方便的模拟对象注入
- EasyMock 参数匹配
- 和Spring集成
- applicationContext 配置和spring方便的bean注入方式可以
- 在单元测试里支持spring配置的hibernate SessionFactory