2016-12-02 4 views
0

Das ist meine Einheit Test:Unit Test erwartet System.ServiceModel.FaultException

[TestCategory("Repo")] 
    [TestMethod] 
    [ExpectedException(typeof(System.ServiceModel.FaultException))] 
    public void RepoUnitTest_ExpectError() 
    { 
     var repo = new CreateClientRepository(ClientServiceWrapper); 

     IClientObject input = new ClientObject 
     { 
      ClientId = 0, 
      ClientName = null 
     }; 

     repo.CreateClient(input); 
    } 

ich ungültige Eingabe meiner Client-Repository bin bereitzustellen, die wiederum einen Dritten Client-Dienst ruft, und ich erwarte, dass die Client-Dienst einen Fehler werfen Und der Client-Service löst auch eine Ausnahme aus, aber nicht so, wie ich es erwarte. Ich erwarte, dass es „System.ServiceModel.FaultException“, aber es gibt mir dies:

Test method RepoUnitTest_ExpectError threw exception 
System.ServiceModel.FaultException`1[[System.ServiceModel.ExceptionDetail, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], 
but exception System.ServiceModel.FaultException was expected. 

nicht sicher, was ich „ExpectedException“ setzte in so dass diese Einheit Test geht mit richtig erwarteter Ausnahme.

Antwort

0

Ich denke, ich hätte noch ein paar Minuten warten sollen, bevor ich diese Frage gestellt habe, aber ich bin froh, dass ich jetzt das Wissen mit jemandem teilen kann, der über ein ähnliches Problem stolpert.

Die erwartete Ausnahme sollte auf diese Weise geschrieben werden (für diesen speziellen Fall):

[ExpectedException(typeof(System.ServiceModel.FaultException< 
System.ServiceModel.ExceptionDetail>))]