谁能告诉我如何使用 PHPUnit 测试 RESTful Web 服务? PHPUnit 似乎没有这种能力。
最佳答案
将请求抽象为 Request Object .这样你就可以测试你的代码而不必实际发出真正的请求。那么测试就很容易了。
class RequestTest extends PHPUnit_Framework_TestCase
{
public function testRequest()
{
$request = new Request();
$request->setMethod('PUT');
$request->setPutData(…);
$this->assertSomething(
$this->testSubjectUsingRequest->process($request)
);
}
}
如果您想测试 Web 服务的响应,请模拟/ stub Web 服务的 API。
PHPUnit章节中有一章是关于Stubbing and Mocking Web Services的尽管建议的内置网络服务模拟工具适用于带有 WSDL 的 Soap 服务,因此您必须手动配置模拟(就像您对任何模拟资源所做的那样)。
如果这不能回答您的问题,请使用有关 RESTful 服务的更多详细信息更新您的问题,您正在尝试用它做什么/测试什么。
关于php - 使用 PHPUnit 测试 RESTful Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5683392/