Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
强制PHP单元使用SOAP请求_Php_Soap_Phpunit - Fatal编程技术网

强制PHP单元使用SOAP请求

强制PHP单元使用SOAP请求,php,soap,phpunit,Php,Soap,Phpunit,我正在测试一个从SOAP服务收集数据的web应用程序。但是PHPUnit默认情况下不调用SOAP服务,而是鼓励您使用模拟对象 但是,我想使用此SOAP服务测试应用程序。有没有办法强迫PHPUnit这样做?我强烈建议不要这样做。 单元测试(确保软件稳定性的一个重要因素)永远不应该依赖于web服务的可用性。单元测试意味着运行速度很快,如果使用SOAP调用,它们就不会这么快 如果您真的想确保web服务的可用性,请实现某种独立的服务来检查可用性。您可以简单地使用真实对象和真实数据——PHPUnit应该乐

我正在测试一个从SOAP服务收集数据的web应用程序。但是PHPUnit默认情况下不调用SOAP服务,而是鼓励您使用模拟对象


但是,我想使用此SOAP服务测试应用程序。有没有办法强迫PHPUnit这样做?

我强烈建议不要这样做。 单元测试(确保软件稳定性的一个重要因素)永远不应该依赖于web服务的可用性。单元测试意味着运行速度很快,如果使用SOAP调用,它们就不会这么快


如果您真的想确保web服务的可用性,请实现某种独立的服务来检查可用性。

您可以简单地使用真实对象和真实数据——PHPUnit应该乐于允许

但是请记住,这完全违背了单元测试的目的。当使用SOAP服务时,您依赖于完全不受您控制的web流量和服务器响应。在这种不受控制的环境中,任何事情都可能发生,您的测试最终会失败。关键是您的测试是绝对确定的:您应该知道输入数据,控制其处理过程并验证输出。如果去掉数据处理控件,它就不再是单元测试了