使用PHPUnit测试RESTful Web服务

sri*_*sri 14 php rest phpunit

谁能告诉我如何使用PHPUnit测试RESTful Web服务?PHPUnit似乎没有这种能力.

Gor*_*don 11

将请求抽象为请求对象.这样您就可以测试代码而无需实际发出请求.那么简单的测试.

class RequestTest extends PHPUnit_Framework_TestCase
{
    public function testRequest()
    {
        $request = new Request();
        $request->setMethod('PUT');
        $request->setPutData(…);
        $this->assertSomething(
            $this->testSubjectUsingRequest->process($request)
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您想测试来自Webservice 的响应,请模拟/存根Web服务的API.

尽管建议的内置Web服务模拟工具适用于使用WSDL的Soap服务,但PHPUnit章节中有一章关于Stubbing和Mocking Web Services,因此您必须手动配置Mocks(就像使用任何模拟资源一样) ).

如果这不能解答您的问题,请更新您的问题,了解有关RESTful服务的更多详细信息,您要尝试使用它进行测试.