1

次の入力を含む 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)。
  • 私はまだセレンを試していません

参考文献:

4

1 に答える 1