我试图用MVC中的工作单元/存储库模式做一些TDD。问题MSDN和其他消息来源说我需要创建inMemoryRepositories
来代表测试项目中的我的存储库。
使用此测试存储库我在列表中添加和删除项目,并检查输出是否是我从控制器使用存储库时所期望的(在我的情况下是客户端代码)。
现在的问题是,我现在还没有开发任何使用存储库的客户端代码,而是将存储库本身实现为一个库,它将作为它们与数据库之间的服务提供给其他应用程序。
我需要知道的是,它们可以正确地插入或搜索数据库。这不是我在任何教程或指南中找到的东西,我不确定执行此测试的最佳方式是什么。
任何指针都会非常感激。
答案 0 :(得分:2)
您需要什么 - 测试实际的数据更改 - 不是单元测试,这就是您在教程中没有看到它的原因。单元测试测试业务逻辑。
以下是TDD引用Wikipedia entry:
用于TDD的测试不应该跨越a的过程边界 程序,更不用说网络连接了。这样做会引入延迟 这使得测试运行缓慢并阻碍开发人员运行测试 整套房。还介绍了对外部模块或数据的依赖性 将单元测试转换为集成测试。
根据我的经验,这是非常好的建议。
如果您真的想测试数据更改,可以为集成测试设置另一个测试项目。保持单元测试清洁和纯净。