Codeception API测试头不发送

时间:2017-12-15 23:27:46

标签: php symfony codeception

我有以下代码。

$I = new ApiTester($scenario);
$I->wantTo('Test API Endpoint');
$I->authenticateAsUserById(1); 
$I->haveHttpHeader('Content-Type', 'application/json');
$I->sendPOST('example', ['foo' => 'bar']);

以下api.suite.yml

actor: ApiTester
modules:
    enabled:
        - REST:
           url: 127.0.0.1
           depends: PhpBrowser
           part: Json
        - Doctrine2:
           depends: Symfony2
        - \Helper\Api
        - Symfony2:
           app_path: 'app'
           var_path: 'var'
           environment: 'test'
           debug: false

但是,在详细模式下运行测试时,命令输出似乎没有发送请求标头。

[Request] POST 127.0.0.1/example {"foo":"bar"}]}
  [Request Headers] []
[Page] 127.0.0.1/example
[Response] 400
  [Request Cookies] []
[Response Headers] {"Server":["nginx/1.10.3 (Ubuntu)"],"Date":["Fri, 15 Dec 2017 23:18:13 GMT"],"Content-Type":["text/html"],"Content-Length":["182"],"Connection":["close"]}
  [Response] <html>
  <head><title>400 Bad Request</title></head>
  <body bgcolor="white">
  <center><h1>400 Bad Request</h1></center>
  <hr><center>nginx/1.10.3 (Ubuntu)</center>
  </body>
  </html>

这似乎是让服务器返回错误的请求。

有没有人使用Codeception和Rest Bundle遇到这个问题?

修改

这似乎是Symfony2插件和PHPBrowser之间发生冲突的问题,其中symfony正在禁用这些功能。

0 个答案:

没有答案