1

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

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

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

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

任何指针将不胜感激。

4

1 回答 1

2

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

这是来自 TDD Wikipedia 条目的引用:

用于 TDD 的测试不应该跨越程序中的进程边界,更不用说网络连接了。这样做会引入延迟,使测试运行缓慢并阻止开发人员运行整个套件。引入对外部模块或数据的依赖也会将单元测试变成集成测试。

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

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

于 2013-11-13T16:46:37.737 回答