0

这是我的单元测试:

    [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”中放了什么,所以这个单元测试通过了正确的预期异常。

4

1 回答 1

1

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

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

[ExpectedException(typeof(System.ServiceModel.FaultException<
System.ServiceModel.ExceptionDetail>))]
于 2016-12-02T21:30:12.687 回答