Web services 如何使用MSTest/CCNet对来自外部影响的测试失败发出警告

Web services 如何使用MSTest/CCNet对来自外部影响的测试失败发出警告,web-services,mstest,Web Services,Mstest,我们的在线服务中有一部分与第三方Web服务集成。因此,我们在VisualStudio2010中使用MSTest进行了大量的单元测试,以确保我们与第三方的事务能够产生预期的响应。我们为连续构建运行CCNet,它做的正是持续集成的本意。在许多情况下,当上游层中的签入改变了服务端的数据并破坏了集成时,它发现了这一点 不幸的是,第三方的集成测试主机不可靠,因为它可以在没有警告的情况下停机进行维护。因此,一天中有好几次构建会因为这些单元测试因连接问题而失败而中断。这非常分散注意力,我们对此无能为力,只能将

我们的在线服务中有一部分与第三方Web服务集成。因此,我们在VisualStudio2010中使用MSTest进行了大量的单元测试,以确保我们与第三方的事务能够产生预期的响应。我们为连续构建运行CCNet,它做的正是持续集成的本意。在许多情况下,当上游层中的签入改变了服务端的数据并破坏了集成时,它发现了这一点

不幸的是,第三方的集成测试主机不可靠,因为它可以在没有警告的情况下停机进行维护。因此,一天中有好几次构建会因为这些单元测试因连接问题而失败而中断。这非常分散注意力,我们对此无能为力,只能将其标记为可接受的结果路径。因此,我们的许多测试结果如下所示:

var client = new ThirdPartyClient(TestConfig);
var Result = client.DoSomethingOverThere(ourDataToSend);
Assert.IsFalse(Result == BadResult)
Assert.IsTrue((Result == Success) || (Result == Timeout))
我很想知道两个可能的结果中的哪一个导致了测试通过。(实际上,我希望有一种方法可以使用Assert.Inconclusive,而不将其视为已损坏的构建),但有人对如何处理这种情况有什么建议吗?

这篇文章介绍了一种可能适用于您的情况的解决方法。我同意,当你的另一方出现问题时,将不确定状态设置为测试状态是处理这个问题的一种务实方法