gpt4 book ai didi

symfony - 无法使用 Symfony2 功能测试设置 Content-Type

转载 作者:行者123 更新时间:2023-12-02 01:59:51 24 4
gpt4 key购买 nike

我正在测试 RESTful API,需要测试应用程序是否正确解析传入数据。传入数据的类型可以是 XML 或 JSON 格式。应用程序查看 header 中的 Content-Type 值来确定如何处理数据。

该应用程序运行良好,但我无法在 Symfony2 中为其编写适当的功能测试,因为我似乎无法在调用 URL 时设置 Content-Type。

我正在做这样的事情:

$crawler = $client->request('PUT','/api/record/, array("data" => $xmlData), array(), array("Content-Type" => "text/xml"));

虽然它没有抛出任何错误,但我的应用程序无法识别它。我成功使用 Firefox 的“Poster”插件以及 cUrl 测试了我的脚本。

任何帮助/想法将不胜感激。

最佳答案

从我在 Symfony2 testing section 上看到的(它使用 CrawlerClient 与应用程序交互),您应该将其设置为 'CONTENT_TYPE' => 'application/xml'。因此,您应该尝试以下操作:

$crawler = $client->request('PUT','/api/record/', array("data" => $xmlData), array(), array('CONTENT_TYPE' => 'application/xml'));

请注意,我将其从 text/xml 更改为 application/xml,但两者都应该可以工作。

关于symfony - 无法使用 Symfony2 功能测试设置 Content-Type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10935508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com