2009-12-03 207 views
2

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

我试图创建一个新的模拟< HttpRequestBase >();但是这个。请求没有一个setter。 请帮我指教。谢谢

回答

0

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

0

如果你看看TestHelper in the MVCContrib project,它可以很容易地扩展到模拟Http元素的其他位。 (它有一些要求的元素已经作为一个模板使用。)

善良,

1

我也有类似的问题,因为你 - 我用从斯蒂芬·瓦尔特博客设定假类。

Asp.Net MVC Tips - Faking the Controller Context

我只好稍微修改一些类,但它应该做你想要什么,它绝对不必每次都嘲笑整个背景更容易设置了很多。