单元测试 ef 数据模型

发布于 2024-10-13 19:33:10 字数 238 浏览 2 评论 0原文

我正在利用业余时间开发个人 c# 项目。在这个计划之前,我还没有真正做过任何单元测试,但我认为是时候学习了,所以我阅读了一些教程/博客,并在 VS2010 中安装了 NUnit 和 Testdriven.Net,我想我现在已经掌握了基础知识。

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

干杯

I'm working on a personal c# project in my spare time. Before this projected I haven't really done any unit testing, but I that it was time to learn so I read a couple of tutorials/blogs and installed NUnit and Testdriven.Net in VS2010 and I think I got the basics covered now.

My project uses a data model, which I created using EF4. I've also created a repository to retrieve the data and now I want to test that repository. How should I test it? Can I somehow avoid making calls to the database everytime I want to test a method in the Repository?

cheers

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

怀中猫帐中妖 2024-10-20 19:33:10

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

define an IRepository interface. have a real implementation of it that uses the database. have a fake implementation of it that returns dummy objects for the purpose of unit testing

ぇ气 2024-10-20 19:33:10

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

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

这是一个关于获取 由 Stephen Walther 的 Moq 开始。

You can also use mocking frameworks to create "fake" versions of your repositories. Moq is one I use very often. Essentially, you write code to fake return values of your repositories based on configuration...

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

Here's a good tutorial on getting started with Moq by Stephen Walther.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文