ExpectedException xunit.net core
Я пишу unit test для приложения core. Я пытаюсь проверить, что мой класс вызывает исключение. Но атрибут ExpectedException генерирует исключение компиляции:
Ошибка CS0246 Тип или имя пространства имен ExpectedException не могут (вам не хватает директивы использования или сборки ссылка?) EventMessagesBroker.Logic.UnitTests..NETCoreApp, Version = v1.0
Мой код:
[Fact]
[ExpectedException(typeof(MessageTypeParserException))]
public void TestMethod1_Error_twoMathces()
{
var message = "some text";
var parser = new MessageTypeParser();
var type = parser.GetType(message);
Assert.Equal(MessageType.RaschetStavkiZaNalichnye, type);
}
Итак, есть ли правильный способ достичь этого?
Ответы
Ответ 1
Используйте Assert.Throws
в коде, где ожидается исключение:
[Fact]
public void TestMethod1_Error_twoMathces()
{
var message = "some text";
var parser = new MessageTypeParser();
Assert.Throws<MessageTypeParserException>(() => parser.GetType(message));
}