Я пишу некоторые интеграционные тесты для веб-приложения MVC, которые включают запуск HTTP-сообщения и получение запросов в экземпляре приложения, которое я запускаю с помощью IIS Express.
Проблема в том, что я хочу утверждать, что проверка прошла (например, при создании учетной записи), и, очевидно, это невозможно интерпретировать только из сообщений проверки, смешанных с возвращаемой разметкой (ну, не невозможно, но из вопрос).
В настоящее время я проверяю ModelState
в базовом классе моего контроллера в событии OnActionExecuted
и устанавливаю код состояния в 202 (Принят, но все еще требует обработки):
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
if (!ModelState.IsValid)
{
Response.StatusCode = 202;
}
base.OnActionExecuted(filterContext);
}
Я знаю, что 202 на самом деле не отражает того, что произошло, но нет кода состояния, который соответствует ситуации, и он не вызовет ошибку в браузере, когда приложение работает в обычном режиме.
Каково мнение людей об этом проекте? И будет ли это иметь какие-либо неблагоприятные последствия?