我的假存储库最初只包含硬编码的实体列表,非常简单。
随着我的进展,我共享的虚假存储库变得臃肿。我不断地向这些列表中添加新属性和新实体。这使得维护变得极其困难,也很难看出测试在做什么。我认为这是一种反模式,称为“通用夹具”。
在研究ASP.NET MVC单元测试时,我看到了两种准备传递给控制器的存储库夹具的方法。
- 创建硬编码的虚假存储库,供所有测试共享
- 在每个测试中模拟部分存储库
我很想探索上述选项2,但我读到过不建议模拟存储库,并且在测试操作集合(即具有分页/排序/过滤功能)的控制器的情况下似乎相当令人生畏。
我的问题是...
除了基本示例之外,有哪些准备存储库夹具的方法效果好?