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));
}