【发布时间】:2014-08-06 20:22:55
【问题描述】:
我正在使用 EF 6.1,我将在 CRUD using this pattern. 中处理 CUD 我正在尝试确定处理 R(etrieve) 的最佳方法是什么。假设我的存储库方法返回一个集合:
public IEnumerable<MyObject> GetAll()
{
return _context.MyObject.OrderBy(x => x.Name);
}
我应该创建一个看起来与数据库返回的完全一样的测试对象吗? 如果是,如果数据库返回超过 200 项的列表怎么办?
我应该断言集合中存在一两个项目并继续前进吗?
有没有更好的方法来处理这种情况?
【问题讨论】:
-
你想测试什么? GetAll() 方法?
-
@Mark 我敢说我应该测试我得到的数据是否正确;但是,这似乎是我在测试 EF 的功能,这似乎很愚蠢
-
这是单元测试还是集成测试?
-
这是单元测试。走完整个链条后,我将进行集成测试
-
@Robert 就像你之前说的:测试这段特定的代码相当愚蠢,因为你会测试你没有编写的功能。微软做到了。
标签: c# entity-framework unit-testing