我正在爲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