我正在编写基于Hibernate/SQL的应用程序的crud API。我正在使用mysql进行测试和实况环境。Junit测试数据库
对于测试,我有一个数据库,用户和特权。因此,每次测试时,我必须按照下列步骤操作:
- 删除数据库中的所有表。
- 运行“mvn clean install”,hibernate在db中查找表并在不存在的情况下创建它们。
我想我的测试,它不会收集我的MySQL数据库中的垃圾,我不必每次都丢弃表。是否有一些可用于此目的的内存rdbms,以及如何根据运行环境选择this和mysql来进行测试或生活。
我也有些DAO测试,但通常他们是单元测试 - 只是测试数据库访问 - 我让这些层叠到“真实”数据库而不是内存之一。这样他们测试表元数据也是正确的,而不仅仅是访问它们的代码。但是通过测试访问DAO的其他图层中的代码,我通常会对它们进行存根或模拟,而不是让它们通过。 –
@Jim:谢谢,我编辑过,所以我不会误解你的观点 –