使用PHPUnit测试restfulweb服务

使用PHPUnit测试restfulweb服务,php,rest,phpunit,Php,Rest,Phpunit,有人能告诉我如何使用PHPUnit测试restfulweb服务吗?PHPUnit似乎没有这种能力 将请求抽象为一个。通过这种方式,您可以测试代码,而无需实际发出请求。测试这很容易 class RequestTest extends PHPUnit_Framework_TestCase { public function testRequest() { $request = new Request(); $request->setMethod(

有人能告诉我如何使用PHPUnit测试restfulweb服务吗?PHPUnit似乎没有这种能力

将请求抽象为一个。通过这种方式,您可以测试代码,而无需实际发出请求。测试这很容易

class RequestTest extends PHPUnit_Framework_TestCase
{
    public function testRequest()
    {
        $request = new Request();
        $request->setMethod('PUT');
        $request->setPutData(…);
        $this->assertSomething(
            $this->testSubjectUsingRequest->process($request)
        );
    }
}
如果要测试来自Web服务的响应,请模拟/存根Web服务的API

PHPUnit一章中有一章介绍了尽管建议的内置webservice模拟工具适用于带有WSDL的Soap服务,但是您必须手动配置模拟(就像您使用任何模拟资源一样)


如果这不能回答您的问题,请更新您的问题,提供有关RESTful服务的更多详细信息,您正在尝试使用它做什么/测试。

Hi Gordon,谢谢您的回答。实际上,我们通过从命令行发送包含服务操作和服务类名的URI来执行服务。所以我怀疑EXEC是否在PHPUnit工作。如果是这样,它将解决我的问题(因为我可以使用EXEC运行命令行上运行的任何东西并测试服务)@sri PHPUnit的testhelpers扩展可以重命名函数。看见