2016-12-12 1 views
1

Ich habe eine Unit-Test-Methode wie unten.Zugriff auf benutzerdefinierten Ausnahmecode beim Aufruf von NUnit assert-Methode

[TestCase("test")] 
    [TestCase("")] 
    public void ParseResponse_InvalidResponse_ReturnsBusException(string responseMessage) 
    { 
     IResponseParser responseParser = new ResponseParser();   

     Assert.That(() => responseParser.parseHtmlResponse(responseMessage), 
       Throws.Exception.TypeOf<WebApiBusinessException>()); 

    } 

Meine WebApiBusinessException-Klasse verfügt über einen benutzerdefinierten errorCode. Ich möchte einen anderen Assert hinzufügen und gelesene Business Exception Fehlercode, um sicherzustellen, dass es eine war. Ich kann dies tun, indem ich try/catch-Block hinzufüge. Ist es möglich, dies ohne Versuch/Fang zu tun?

Antwort

1

es

gefunden
[TestCase("test")] 
[TestCase("")] 
public void ParseResponse_InvalidResponse_ReturnsBusException(string responseMessage) 
{ 
    IResponseParser responseParser = new ResponseParser();   

    Assert.That(() => responseParser.parseHtmlResponse(responseMessage), 
      Throws.Exception.TypeOf<WebApiBusinessException>() 
       .And.Property("ErrorCode").EqualTo("3")); 

} 
+1

ich nicht wusste, dies war eine Option! – JamesFaix

+0

Ich war dabei, versuchen/fangen für diese :) @JamesFaix – doganak

+1

Alternativ könnten Sie 'Assert.Throws (Aktion)'; – ColinM

Verwandte Themen