Automated tests 第三方服务错误的自动测试策略

Automated tests 第三方服务错误的自动测试策略,automated-tests,simulation,functional-testing,Automated Tests,Simulation,Functional Testing,我正在尝试编写一个自动测试,用于测试我的应用程序对第三方服务关闭的响应 通常情况下,服务总是处于上升状态。我正在寻找一种可靠的方法来模拟它关闭,尤其是不需要根访问。另一个问题是:测试中的应用程序将处于单独的过程中。我曾想过只改变指向服务的配置,但那是行不通的 这一切都发生在unix环境(linux、OSX)中,所以我希望它在那里工作,但我不关心windows。有没有一种快速的方法来阻止传出端口或类似的东西?它也必须是临时的,因为这必须发生在一个更大的测试套件的中间。 希望有一个相当标准的方法来做

我正在尝试编写一个自动测试,用于测试我的应用程序对第三方服务关闭的响应

通常情况下,服务总是处于上升状态。我正在寻找一种可靠的方法来模拟它关闭,尤其是不需要根访问。另一个问题是:测试中的应用程序将处于单独的过程中。我曾想过只改变指向服务的配置,但那是行不通的

这一切都发生在unix环境(linux、OSX)中,所以我希望它在那里工作,但我不关心windows。有没有一种快速的方法来阻止传出端口或类似的东西?它也必须是临时的,因为这必须发生在一个更大的测试套件的中间。

希望有一个相当标准的方法来做这件事,我只是还没有找到


澄清:这是一个功能测试,用于确保gui在服务关闭时正确响应。单元测试已经包括在内。

如果您的应用程序在设计时考虑了单元测试,那么您应该能够用不同的实现替换第三方服务

其思想是,您可以使用模拟对象替换服务,该对象返回虚拟数据进行测试。您还可以使用引发异常或超时的对象替换服务


有了模拟服务,测试人员可以使用该应用程序并查看它如何响应服务故障。

为该服务创建一个代理。指向服务的代理。删除该服务的代理。

实际上,它包含了单元测试。这更多的是在功能测试级别。Selenium在另一个进程中运行应用程序,而无法更改正在运行的应用程序。我试图测试当服务关闭时用户在gui上看到的东西。@William:我的建议旨在测试gui-我添加了一句话来澄清。