Если мы нажмем SomeController.SomeAction ()
, но файл SomeAction.cshtml не найден, мы получаем System.InvalidOperationException и выводим сообщение об ошибке ...
Представление SomeAction или его главное устройство не найдено, или механизм представления не поддерживает искал места. Был произведен поиск в следующих местоположениях: ... etc
Однако, даже если этот файл отсутствует, приведенный ниже тест пройдет успешно, поскольку ViewResult все еще возвращается.
Как лучше всего проверить, что вызов действия View ()
не вызвал исключения и тихо вернул его в содержимом ViewResult ?
public class SomeController: Controller
{
public ActionResult SomeAction()
{
var viewModel = new SomeModel();
return View(viewModel);
}
}
[Test]
public void TestIndex(Type clientType)
{
var controller = new SomeController();
var result = (ViewResult)controller.SomeAction();
Assert.That(result, Is.TypeOf<ViewResult>());
}
ПРИМЕЧАНИЕ. тривиальный пример более серьезной проблемы, есть веская причина для выполнения такого рода теста на данном этапе, но это не форум для такого обсуждения.