这是我的单元测试:
[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 :(得分:0)
猜猜我应该在发布这个问题之前再等几分钟,但我很高兴,现在我可以与遇到类似问题的人分享知识。
应该以这种方式编写预期的异常(对于这种特殊情况):
[ExpectedException(typeof(System.ServiceModel.FaultException<
System.ServiceModel.ExceptionDetail>))]