【发布时间】:2011-11-27 15:03:00
【问题描述】:
我有以下控制器:
public sealed class SomeController : Controller
{
public ActionResult PageNotFound()
{
Response.StatusCode = 404;
return View("404");
}
}
我创建了一个 MSpec 规范:
[Subject(typeof (SomeController))]
public class when_invalid_page_is_requested : SomeControllerSpec
{
Because of = () => result = Controller.PageNotFound();
It should_set_status_code_to_404 =
() => Controller.Response.StatusCode.ShouldEqual(404);
}
public abstract class SomeControllerSpec
{
protected static HomeController Controller;
Establish context = () => { Controller = new SomeController(); };
}
但是由于我实例化控制器的方式,HttpContext 为空。
测试PageNotFound 操作设置的状态代码的最佳方法是什么?
编辑:在下面发布答案
【问题讨论】:
标签: c# asp.net-mvc-3 unit-testing moq mspec