Jon*_*jap 46 sql-server tdd unit-testing
作为实践测试驱动开发的新手,我常常陷入困境,如何将持久性单元测试数据库.
我知道技术上这将是一个集成测试(不是单元测试),但我想找到以下最佳策略:
这些最佳做法是什么?
关于测试SQL:我知道这可以做到,但如果我使用像NHibernate这样的O/R Mapper,它会在用于输出查询的别名中附加一些命名瑕疵,因为这有点不可预测我不确定我可以测试一下.
我应该放弃一切,只是信任NHibernate吗?我不确定这是谨慎的.
Mik*_*one 18
查看数据库单元.它是一个Java库,但必须有一个C#等价物.它允许您使用一组数据准备数据库,以便您知道数据库中的内容,然后您可以与数据库单元连接以查看数据库中的内容.它可以针对许多数据库系统运行,因此您可以使用实际的数据库设置,或使用其他内容,例如Java中的HSQL(具有内存选项的Java数据库实现).
如果您想测试您的代码是否正确使用了数据库(您最有可能应该这样做),那么这就是隔离每个测试并确保数据库已准备好数据的方法.