单元测试预计 System.ServiceModel.FaultException

Unit Test expects 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" 中输入了什么,所以这个单元测试通过了正确预期的异常。

我想我应该再等几分钟再发布这个问题,但我很高兴,现在我可以与偶然发现类似问题的人分享知识。

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

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