php - 使用 PHPUnit 测试 RESTful Web 服务

标签 php rest phpunit

谁能告诉我如何使用 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/

相关文章:

Laravel 5.5 请求在 Restful Controller 中为空

node.js - 如何安全地将 Google OAuth 生成的访问 token 传递到 NodeJS REST API?

laravel - stringContains 在 Laravel Log 外观中匹配的参数 shouldReceive

php - 使用 php 通过 javascript 传递参数

php - Eclipse 语法突出显示 : trying to specify it for a new file extension, 并且它不起作用

flash - AS3 中有更多 HTTP 动词吗?

PHPUnit 在 Netbeans 中的 ArrayCollection(Doctrine 2)初始化后不再运行

php - 为什么这个 sql 不工作?

PHP 警告破坏 JSON 响应

javascript - 如何编写一个 (php) Web 应用程序以向客户端发送一个 .txt 文件,其中包含客户端已插入 JS 提示框的值