单元测试远程API?(在Symfony2捆绑包中)
我在这里创建了一个非常小的symfony2包: 只是一个调用远程url的简单服务 现在,单元测试方面,我应该测试这个吗?实际上,所有可能出现的问题都是远程主机不可用,但这不是我的代码的问题 如果这是您要维护的包,您有什么建议,我希望100%的代码覆盖率,但是50%的代码只是调用远程url单元测试远程API?(在Symfony2捆绑包中),symfony,phpunit,Symfony,Phpunit,我在这里创建了一个非常小的symfony2包: 只是一个调用远程url的简单服务 现在,单元测试方面,我应该测试这个吗?实际上,所有可能出现的问题都是远程主机不可用,但这不是我的代码的问题 如果这是您要维护的包,您有什么建议,我希望100%的代码覆盖率,但是50%的代码只是调用远程url 建议?我认为这个测试是不必要的。如果您尝试测试它,那么可以使用WebTestCase。捆绑包中的服务应接受用于客户端实现的Symfony\Component\BrowserKit\Client。您可以选择Gou
建议?我认为这个测试是不必要的。如果您尝试测试它,那么可以使用
WebTestCase
。捆绑包中的服务应接受用于客户端实现的Symfony\Component\BrowserKit\Client
。您可以选择Goutte\Client
使用cURL进行生产激发,或者选择Symfony\Component\HttpKernel\Client
进行测试。然后,您必须动态添加路由或请求侦听器
不管怎么做,但是测试比实现更复杂,所以您如何确定您的测试是正常的?我建议您使用
HTTP客户端
,而不是直接调用文件\u get\u content
,这样您就可以通过容器注入它。在单元测试中,您可以注入http客户机的模拟值,该值可以定义所需的行为(如错误响应或500等)。希望这有帮助。如果您需要一些示例,请告诉我。唯一有意义的是向您的服务传递一个模拟,并检查对您的服务的调用是否以正确的方式调用了Symfony\Component\BrowserKit\Client
。那么您应该获得更好的代码覆盖率。