2012-03-15 3 views
1

Symfony2 및 phpUnit을 사용하여 multipart PUT에 대한 단위 테스트를 작성하려고합니다. 이 문제를 해결하는 가장 좋은 방법은 확실치 않으며 주제에 대한 문서를 찾을 수 없습니다.Multipart PUT phpUnit 및 Symfony2 테스트

다음은 내가 시작해야하는 부분이지만, 다음 단계를 멀티 파트로 만드는 방법을 잘 모르겠습니다.

$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 /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 기본적으로

답변

0

createClient()Symfony\Component\HttpKernel\Client을 반환합니다. 내가 아는 한, 멀티 파트 메시지를 자체적으로 작성하는 것을 지원하지 않지만, 헤더를 직접 추가하고 독자적으로 요청 본문을 작성할 수 있습니다.

질문에 이미 설명했듯이 추가 헤더가 필요한지, 요청 본문을 작성하는 방법을 알고 있습니다.

+1

이 문제를 해결하는 가장 좋은 방법에 대한 조언이 있으십니까? 응답 크롤러를 계속 사용할 수 있기를 바랍니다. –

+0

응답에 독립적입니다. – hakre