我想对依赖于相当复杂的数据库结构(嵌套,循环引用等)的代码进行单元测试。通常我会做这样的事情:
var personRepository = new Mock<IPersonRepository>();
personRepository.Setup(r => r.GetPerson()).Returns(
new Person()
{
FirstName = "Joe",
LastName = "Smith"
});
我的“复杂”数据的问题是我觉得我的测试变得混乱了模拟数据。我有什么选择?我想将数据保存为.json文件,我想这可行。理想情况下,我想使用数据库快照的内存表示。是否可以使用EF6?还有其他建议吗?
答案 0 :(得分:2)
您可能需要查看Effort,它旨在让您对使用Entity Framework的代码进行单元测试。
它将查看您的数据库并构建一个内存版本,其行为类似于真实内容,但可以为每个测试重新创建。然后,您可以编写一些代码,用您的数据填充伪数据库,允许您对其进行测试。