我正在为MVC Web应用程序编写一些集成测试,这涉及到在IIS Express启动的应用程序的实例中激发http post并获取请求。返回不同的HTTP状态代码进行测试
问题是,我想断言验证已通过(例如在帐户创建),显然这是不可能的从只是验证消息中解释与返回标记混合(很不是不可能的,但出于问题)。
什么我目前做的是检查在我的控制器基类中的ModelState
在OnActionExecuted
事件和状态代码设置为202(接受,但仍然需要处理):
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
if (!ModelState.IsValid)
{
Response.StatusCode = 202;
}
base.OnActionExecuted(filterContext);
}
我知道202没有按”并没有真正反映发生了什么,但是没有符合情况的状态代码,并且在应用程序正常使用时它不会在浏览器上导致错误。
什么是人们对这种设计的意见?它会有什么不利影响?
我听到你的兄弟 – jcvandan