控制器测试问题

时间:2009-12-03 07:01:25

标签: asp.net-mvc controller testing

我想测试一个mvc控制器。我正在使用Moq来模拟服务,但我不知道如何模拟this.Request.Files [“Attachement1”]和this.Server.MapPath(“〜/ Temp”)(“this”是控制器)

我尝试创建一个新的Mock < HttpRequestBase >();但是这个。请求没有一个二传手。 建议请帮帮我。感谢

3 个答案:

答案 0 :(得分:1)

我遇到了类似的问题 - 我使用了Stephen Walther博客中的假类。

Asp.Net MVC Tips - Faking the Controller Context

我不得不稍微修改一些类,但它应该做你想要的,并且它的设置肯定比每次都要模拟整个上下文容易得多。

答案 1 :(得分:0)

如果查看TestHelper in the MVCContrib project,可以很容易地扩展到Mock其他Http元素位。 (它有一些Request元素已经用作模板。)

善,

答案 2 :(得分:0)

对于文件夹名称解析,例如:this.Server.MapPath(“〜/ Temp”)我使用公共属性,getter返回这个,所以我可以轻松地测试它。 对于Request.Files,我更喜欢使用FormCollection字典