2016-12-02 177 views
0

这是我的单元测试:单元测试预计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); 
    } 

我提供无效输入我的客户资料库,接着调用第三方客户服务,我希望客户服务抛出一个错误。而且,客户端服务也会引发异常,但不是我期望的方式。我希望它“System.ServiceModel.FaultException”,但它给我这个:

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. 

不知道我该怎么放“的ExpectedException”所以这个单元测试通过用正确的预期异常。

回答

0

猜猜在发布这个问题之前,我应该等待几分钟,但我很高兴,现在我可以与谁在类似问题上遇到困难的人分享知识。

预期的异常应该这样写(对于这种特殊情况下):

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