TDD和工作单元模式

时间:2013-11-13 16:39:51

标签: c# entity-framework tdd repository-pattern unit-of-work

我试图用MVC中的工作单元/存储库模式做一些TDD。问题MSDN和其他消息来源说我需要创建inMemoryRepositories来代表测试项目中的我的存储库。

使用此测试存储库我在列表中添加和删除项目,并检查输出是否是我从控制器使用存储库时所期望的(在我的情况下是客户端代码)。

现在的问题是,我现在还没有开发任何使用存储库的客户端代码,而是将存储库本身实现为一个库,它将作为它们与数据库之间的服务提供给其他应用程序。

我需要知道的是,它们可以正确地插入或搜索数据库。这不是我在任何教程或指南中找到的东西,我不确定执行此测试的最佳方式是什么。

任何指针都会非常感激。

1 个答案:

答案 0 :(得分:2)

您需要什么 - 测试实际的数据更改 - 不是单元测试,这就是您在教程中没有看到它的原因。单元测试测试业务逻辑。

以下是TDD引用Wikipedia entry

  

用于TDD的测试不应该跨越a的过程边界   程序,更不用说网络连接了。这样做会引入延迟   这使得测试运行缓慢并阻碍开发人员运行测试   整套房。还介绍了对外部模块或数据的依赖性   将单元测试转换为集成测试。

根据我的经验,这是非常好的建议。

如果您真的想测试数据更改,可以为集成测试设置另一个测试项目。保持单元测试清洁和纯净。