首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >测试ASP.net MVC3业务/数据逻辑

测试ASP.net MVC3业务/数据逻辑
EN

Stack Overflow用户
提问于 2012-05-20 04:43:20
回答 1查看 216关注 0票数 0

在MVC3解决方案中测试数据访问层和业务逻辑的最佳方法是什么?

我目前有一个项目,在这个项目中我使用存储库类访问数据库,而数据库又使用hibernate。当我尝试在自动生成的单元测试中为它们创建单元测试时,它们总是失败,因为nhibernate的配置是在web.config中,并且它没有尝试在那里查找。我做错了什么?此特定方法返回此错误

代码语言:javascript
运行
复制
"The Web request 'http://localhost:35601/' completed 
successfully without running the test"

测试方法如下所示

代码语言:javascript
运行
复制
    [TestMethod()]
    [HostType("ASP.NET")]
    [AspNetDevelopmentServerHost("C:\\Users\\...", "/")]
    [UrlToTest("http://localhost:35601/")]
    public void GetByIdTest()
    {
        string someid= "..";
        SomeObj actual = MyRepository.GetById(someid);
        Assert.AreEqual(some, SomeObj.id);
    }

我怎样才能让它正常工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-21 00:27:17

将设置放在app.config中应该可以解决您上面提出的问题,然而,更正确的答案是您应该使用模拟框架来模拟nHibernate会话。

您找到了一个需要更改以适应测试的区域,这一事实非常棒!这是单元测试的一个优点;您会发现代码中存在应该重构的耦合。

我找到了另一篇文章,它直接介绍了你想要做的Mocking an NHibernate ISession with Moq。在这篇文章中有两个答案,它们提供了可能有帮助的方法。

我希望这能帮到你。我还没有用过nHibernate,所以我不能权威地谈论它,或者上面的链接会给你一个答案,但是每个答案都有十个赞成票,所以它看起来像是一个可靠的帖子!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10668734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档