我在空闲时间处理个人C#项目。在这个预测之前,我还没有真正做过任何单元测试,但我认为是时候学习了,所以我阅读了几个教程/博客,并在VS2010中安装了NUnit和Testdriven.Net,我想我已经掌握了基本知识。单元测试ef datamodel
我的项目使用了我使用EF4创建的数据模型。我还创建了一个存储库来检索数据,现在我想测试该存储库。我应该如何测试它?每次我想要在Repository中测试一个方法时,我可以以某种方式避免调用数据库?
欢呼声
我在空闲时间处理个人C#项目。在这个预测之前,我还没有真正做过任何单元测试,但我认为是时候学习了,所以我阅读了几个教程/博客,并在VS2010中安装了NUnit和Testdriven.Net,我想我已经掌握了基本知识。单元测试ef datamodel
我的项目使用了我使用EF4创建的数据模型。我还创建了一个存储库来检索数据,现在我想测试该存储库。我应该如何测试它?每次我想要在Repository中测试一个方法时,我可以以某种方式避免调用数据库?
欢呼声
您还可以使用模拟框架来创建您的存储库的“假”版本。 Moq是我经常使用的一种。从本质上讲,你写的代码基于配置的仓库的假返回值...
var mock = new Mock<YourObject>();
mock.Setup(m => m.DoSomething().Returns(true));
var result = mock.Object.DoSomething();
Assert.IsTrue(result);
这里是由斯蒂芬·瓦尔特获得started with Moq一个很好的教程。
定义了一个IRepository接口。有一个使用数据库的真正实现。有一个假的执行它返回虚拟对象为单元测试目的
如果我决定使用Moq,而我必须为模型中的每个实体定义一个接口? – Ols1 2011-01-26 20:50:02