Как выполнить обработку исключений с помощью nunit и moq?

StackOverflow https://stackoverflow.com/questions/1386421

  •  21-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь использовать новый способ обработки исключений 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 и перехватить конкретное выдаваемое исключение?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top