作为一名实践测试驱动开发的新手,我经常陷入困境,即如何对数据库的持久性进行单元测试。
我知道从技术上讲这将是一个集成测试(不是单元测试),但我想找出以下最佳策略:
- 测试查询。
- 测试插入。如果插入失败,我怎么知道插入出错了?我可以通过插入然后查询来测试它,但是我怎么知道查询没有错呢?
- 测试更新和删除——与测试插入相同
做这些的最佳实践是什么?
关于测试 SQL:我知道这可以完成,但是如果我使用像 NHibernate 这样的 O/R 映射器,它会在用于输出查询的别名中附加一些命名疣,因为这有点不可预测,我不确定我可以对此进行测试。
我应该放弃一切并简单地信任NHibernate吗?我不确定这是否谨慎。