最小起订量nUnit 测试 EntityFramework MVC3 C#

发布于 2024-12-04 06:06:57 字数 461 浏览 4 评论 0原文

任何人都可以提供使用 Moq 和 nUnit 对 MVC 内的实体框架执行测试的良好起点或示例吗?我有一个包含“MyModel.edmx”的 DomainModel,其中包含一个表“Posts”。我想执行一个测试,填充一个虚假的存储库。

我一直在关注这个: http://blogs.msdn.com/b/adonet/archive/2009/12/17/walkthrough-test-driven-development-with-the-entity-framework-4-0.aspx< /a>

但我不确定如何使用 Moq/nUnit 而不是内置测试

Can anybody provide a good starting point or example of using Moq and nUnit to perform tests against the entity framework inside MVC. I have a DomainModel which contains "MyModel.edmx" which contains a table "Posts". I want to perform a test populating a fake repository of this.

I have been following this:
http://blogs.msdn.com/b/adonet/archive/2009/12/17/walkthrough-test-driven-development-with-the-entity-framework-4-0.aspx

But I am unsure how to use Moq/nUnit instead of the inbuilt tests

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

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

发布评论

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

评论(1

甜妞爱困 2024-12-11 06:06:57

这是创建 Moq 对象(用于测试目的)的另一种方法,假设您实现了一个数据存储库。

public static class UnitTestHelpers
        {
            public static MyModelRepository MockMyModelRepository(params Posts[] post)
            {
                // Generate an implementer of MyModelRepository at runtime using Moq
                var mockPosts = new Mock<MyModelRepository>();
                mockPosts.Setup(x => x.Posts).Returns(post.AsQueryable());
                return mockPosts.Object;
            }
    }

This is another way of creating Moq Object (for testing purpose) assuming you implemented a datarepository.

public static class UnitTestHelpers
        {
            public static MyModelRepository MockMyModelRepository(params Posts[] post)
            {
                // Generate an implementer of MyModelRepository at runtime using Moq
                var mockPosts = new Mock<MyModelRepository>();
                mockPosts.Setup(x => x.Posts).Returns(post.AsQueryable());
                return mockPosts.Object;
            }
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文