为curl httprequest创建一个测试用例


Create a test case for curl httprequest

PHPUnit有测试数据库的方法,但是我如何测试HTTP服务,比如curl?

我的类方法获取一个URL并请求参数发送到服务器。它接收json格式的答案,并将此json发送给另一个方法进行解析并返回。

我想为这个类方法创建一个PHPUnit测试用例。我应该向服务器提供一个真实的url吗?服务器应该向这个测试用例返回成功/错误消息吗?

不要在类的某些方法中使用curl连接,而是将curl调用包装在它自己的类中,模拟它,并将其传递给您的类。

通过这种方式,您可以通过让模拟返回真正的json来测试快乐路径,并且还可以模拟curl错误(使模拟的行为像真正的curl库一样)。

同样适用于解析部分。如果你将解析代码移到它自己的类中,并将其注入到"main"类中,那么你就可以模拟它,并模拟解析错误。

对于单元测试,你不应该做真正的网络调用。