我有一个包含以下输入的 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)。
- 我还没有尝试过 Selenium
参考: