次の入力を含む HTML フォームがあります:<input type="file" name="sentFile" />
フォームは で生成されていません$this->createFormBuilder()
。というクラスを書きましたextends WebTestCase
。そのテスト方法は次のことを行います。
$crawler = $client->request('GET', '/users/import');
$buttonCrawlerNode = $crawler->selectButton('Import');
$form = $buttonCrawlerNode->form();
$testfile = 'import_users.csv';
$destination = 'F:/www/symfony/web/uploads/' . $testfile;
$form['sentFile']->upload($destination);
$form['myparam'] = 'hello';
$crawler = $client->submit($form);
しかし、phpunit
コマンドでテストを実行すると、投稿されたフォームを受け取るコントローラー メソッドに空の$_FILES
. もう一方の入力 ( myparam
) は正しく受信されます。では、アップロードされたファイルをどのように使用できますか?
PS:
- Symfony で PHPT を使用することに成功していません (stackoverflow.com/questions/4922207/integrate-phpt-test-cases-with-phpunit/4925061)。
- 私はまだセレンを試していません
参考文献: