单元测试ef datamodel

时间:2011-01-21 04:20:49

标签: c# testing tdd nunit

我在业余时间从事个人c#项目。在此预测之前我还没有真正完成任何单元测试,但我是时候学习了所以我读了几个教程/博客并在VS2010中安装了NUnit和Testdriven.Net,我想我现在已经掌握了基础知识。

我的项目使用的是我使用EF4创建的数据模型。我还创建了一个存储库来检索数据,现在我想测试该存储库。我该怎么测试呢?每次我想在存储库中测试一个方法时,我能以某种方式避免调用数据库吗?

欢呼声

2 个答案:

答案 0 :(得分:1)

定义一个IRepository接口。有一个使用数据库的真正实现。有一个假的实现,它返回虚拟对象以进行单元测试

答案 1 :(得分:0)

您还可以使用模拟框架来创建存储库的“虚假”版本。 Moq是我经常使用的。基本上,您根据配置编写代码来伪造存储库的返回值...

var mock = new Mock<YourObject>();
mock.Setup(m => m.DoSomething().Returns(true));
var result = mock.Object.DoSomething();
Assert.IsTrue(result);

这是Stephen Walther获取started with Moq的好教程。

相关问题