1

我的大多数集成测试都使用 springAbstractTransactionalSpringContextTests进行回滚而不是提交到数据库。这通常工作得很好,但是因为直到提交阶段才应用外键约束,所以我的测试策略存在漏洞。

如何改进我的测试?

如果可能的话,我想避免提交,因为这会导致测试需要更长的时间来运行(当有很多时)

4

1 回答 1

0

我知道您不想提交到数据库,例如刷新会话,但是在为此目的使用内存中的 sqlite 数据库时性能可能是可以接受的。

我已经使用 NHibernate(使用 Fluent NHibernate)和内存中的 sql-lite 数据库(如何在这里)进行了单元测试;只要您只创建数据库的相关部分而不是完整的架构,这就会非常快。

您可以轻松地扩展AbstractTransactionalSpringContextTests该类以刷新到数据库,请参阅spring.net 文档 22.2.10spring.net 论坛上的此线程,因此您应该能够为您的测试套件快速工作。

于 2011-06-10T15:22:07.980 回答