设置请求内容以在 symfony 中测试
Posted
技术标签:
【中文标题】设置请求内容以在 symfony 中测试【英文标题】:Set request content to test in symfony 【发布时间】:2021-12-27 12:38:41 【问题描述】:我必须设置一个测试来使用 API 检查用户注册,但我不确定如何设置内容,它必须有一个带有 token named
x-auth-tokenand the body with a
form 的标题-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,它工作正常,但我无法设置测试请求 【参考方案1】:使用$client->request
方法的第三个参数来传递你的数据。
如果您想使用 JSON 将有效负载作为表单数据发送,您需要执行以下操作:
$client->request(..., ..., ['data' => json_encode(...)], ...);
请记住,您可能需要在标头 (application/x-www-form-urlencoded
) 中设置正确的 Content-Type
。
【讨论】:
以上是关于设置请求内容以在 symfony 中测试的主要内容,如果未能解决你的问题,请参考以下文章
Symfony 2 - 在单元测试期间将会话数据添加到请求对象