web-dev-qa-db-fra.com

ExpectedException xunit .net core

J'écris un test unitaire pour l'application core. Im essayant de vérifier, que ma classe lève exception. Mais ExpectedException l'attribut lève une exception de compilation:

Erreur CS0246 Le type ou le nom d'espace de nommage 'ExpectedException' est introuvable (manque-t-il une directive using ou une référence d'assembly?) EventMessagesBroker.Logic.UnitTests..NETCoreApp, Version = v1.0

Mon code:

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

alors, existe-t-il un moyen correct d'y parvenir?

28
Timur Lemeshko

Utilisation Assert.Throws sur le code où une exception est attendue:

[Fact]
public void TestMethod1_Error_twoMathces()
{
    var message = "some text";
    var parser = new MessageTypeParser();
    Assert.Throws<MessageTypeParserException>(() => parser.GetType(message));
}
44
Dmitry