Как выполнить обработку исключений с помощью nunit и moq?
Вопрос
Я пытаюсь использовать новый способ обработки исключений nunits, но мне трудно найти информацию о нем и о том, как использовать его с moq.
Сейчас у меня есть moq, который выдает исключение для имитируемого метода, но я не знаю, как использовать nunit, чтобы перехватить его и просмотреть.
Решение
Есть несколько разных способов сделать это;Я использую Assert.Throws.
var exception = Assert.Throws<YourTypeOfException>(()=> Action goes here);
например
var exception = Assert
.Throws<ArgumentNullException>(()=> new ChimpPuncher(null));
Затем вы можете запросить объект исключения дальше, если хотите, например.
Assert.That(exception.Message, Text.Contains("paramname");
Другие советы
Лучше всего упомянуть: [ExpectedException(typeof(ApplicationException))]
выше метода испытаний.
Почему вы не можете заключить вызов имитируемого метода в блок try/catch и перехватить конкретное выдаваемое исключение?
Не связан с StackOverflow