【问题标题】:Testing Multipart PUT phpUnit and Symfony2测试 Multipart PUT phpUnit 和 Symfony2
【发布时间】:2012-03-15 23:54:00
【问题描述】:

我正在尝试使用 Symfony2 和 phpUnit 为多部分 PUT 编写单元测试。我不太确定处理此问题的最佳方法,也找不到有关该主题的任何文档。

这是我必须开始的,但我不确定如何进行多部分的下一步。

$client = static::createClient();
//test put method for new file
    $xml = new UploadedFile(
        dirname ( __FILE__ ).'/testfile.xml',
        'testfile.xml',
        'application/xml'
    );
$crawler = $client->request('PUT', '/file.xml',array(),
    array('xml'=>$xml),
    array(
        'CONTENT_TYPE' => 'application/xml'
));

编辑 最终我希望我的 put 看起来像这样

    PUT /v1/files HTTP/1.1

host: files.bimfs.com

date: 2009-07-07T12:49:08-06:00

Content-MD5: 5a1d2ffa5b1fd1d11d694428a6f4b808

Authorization: f9ea57af8da1b02ff8fa6e99736ed3c6cbb95c1b:YTc4NDcyZjI1ZTFjN2E3MzAxODIwZGNlZGNlMTczODQyYjIwODVhMzI4ZDhjZTY4MmY4NmYyZGJjZTUyZjBiNg==

Content-Type: multipart/formdata; boundary=c7ecb1abb999a3de5ab26c49b5ac7f87

--c7ecb1abb999a3de5ab26c49b5ac7f87

Content-Type: application/xml

<?xml version="1.0" encoding="UTF-8"?>

<file>

    <name>foo.gif</name>

    <dead_date></dead_date>

</file>

--c7ecb1abb999a3de5ab26c49b5ac7f87

Content-Disposition: file; filename=blank.gif

Content-Type: image/gif

Content-Transfer-Encoding: binary

{file binary}

--c7ecb1abb999a3de5ab26c49b5ac7f87--

谢谢, CG

【问题讨论】:

    标签: php symfony phpunit put


    【解决方案1】:

    默认情况下createClient() 返回一个Symfony\Component\HttpKernel\Client。据我所知,它不支持自行构建多部分消息,但您可以自行添加标头并自行创建请求正文。

    正如您在问题中已经概述的那样,您知道需要哪些额外的标头以及如何构建请求正文。

    【讨论】:

    • 对处理这个问题的最佳方法有什么建议吗?我希望能够仍然使用响应爬虫。
    • 这与响应无关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-08
    • 1970-01-01
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 2015-06-10
    相关资源
    最近更新 更多