phpunit 测试检查状态码

Posted

技术标签:

【中文标题】phpunit 测试检查状态码【英文标题】:phpunit test check statuscode 【发布时间】:2016-06-03 00:21:02 【问题描述】:

我正在尝试使用单元测试来测试我的 Laravel api。但是当我尝试检查状态代码时,它并没有按照我想要的方式工作。

这是我的代码:

public function testExample()
    
        $client = new Client();
        $res = $client->request('POST', 'domain.dev/api/v1/test/1', [
            'form_params' => [
                'currentUserId' => 13
            ]
        ]);  //line 22
        $this->assertEquals(500, $client->getResponse()->getStatusCode());
    

当我在例如邮递员中尝试此操作时,我收到以下信息:

"result":"message":"Error show school"

状态码500

如果我运行 phpunit,它会显示:

/Users/jamie/Code/domain/tests/ExampleTest.php:22(见第 22 行的注释)

我在这里做错了什么?

【问题讨论】:

【参考方案1】:

您的调用$res = $client->request(...) 引发异常。

在this thread可以查看如何配置php正确显示此类错误。

【讨论】:

以上是关于phpunit 测试检查状态码的主要内容,如果未能解决你的问题,请参考以下文章

预期状态码 200 但收到 302

shell脚本:监控HTTP服务的状态(测试返回码)

shell脚本:监控HTTP服务的状态(测试返回码)

降级健康检查的 HTTP 状态码应该是啥?

检查http响应状态码的最佳方法?

使用 nightwatch 检查 http 状态码