【问题标题】:Set request content to test in symfony设置请求内容以在 symfony 中测试
【发布时间】:2021-12-27 12:38:41
【问题描述】:

我必须设置一个测试来使用 API 检查用户注册,但我不确定如何设置内容,它必须有一个带有 token named x-auth-tokenand the body with aform 的标题-data` 参数命名数据,包含 json-string

 public function testUserRegister(){
    $client = static::createClient();
    $server = array('x-auth-token' => '...');
    $client->request(Request::METHOD_POST, self::$uri, [], [], $server);
    $response = $client->getResponse();

    self::assertEquals( Response::HTTP_CREATED, $response->getStatusCode());
}

当我检查调试时,标题上没有 x-auth-token

【问题讨论】:

  • 我不明白你的代码看起来不错!!你有什么错误吗?
  • 参数未发送,我收到 400 错误,因为令牌未到达
  • 你用的是哪个api?
  • 它是为我开发的 api,它工作正常,但我无法设置测试请求

标签: php symfony phpunit symfony-3.4


【解决方案1】:

使用$client->request方法的第三个参数来传递你的数据。

如果您想使用 JSON 将有效负载作为表单数据发送,您需要执行以下操作:

$client->request(..., ..., ['data' => json_encode(...)], ...);

请记住,您可能需要在标头 (application/x-www-form-urlencoded) 中设置正确的 Content-Type

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-23
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 2012-04-07
    • 1970-01-01
    相关资源
    最近更新 更多