Как проверить, что вызов действия для View () не вызвал исключения?

Если мы нажмем 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>());
}

ПРИМЕЧАНИЕ. тривиальный пример более серьезной проблемы, есть веская причина для выполнения такого рода теста на данном этапе, но это не форум для такого обсуждения.

5
задан gingerbreadboy 8 November 2011 в 16:35
поделиться