Symfony FileFormField - 测试(WebTestCase)多文件上传

费多

在我的 Symfony web 应用程序中,我有一个允许多个文件上传的表单(通过设置equalmultiple属性很容易完成)。这很好用:我可以选择多个文件并上传它们。处理表单并获取所有上传的文件也很顺利。但当然,我想预见一个集成测试( )但我没有发现任何模拟多文件上传的可能性。FileTypetrueWebTestCase

我现在所拥有的:

...
$uploadedFile = new UploadedFile(...);
$form = ...; // get the form from the crawler
$form['formtype[filename]'][0]->upload($uploadedFile);
$this->client->submit($form);
...

很好

但是现在我想通过 1 个表单提交上传 2 个文件(因为一次上传多个文件时处理逻辑的行为可能不同)。我该怎么当我查看http://api.symfony.com/3.0/Symfony/Component/DomCrawler/Field/FileFormField.html时,我看不到任何传入的方法,例如,一组UploadedFile对象。任何人都有这方面的经验?

马特瓦尔

如果multiple设置了该属性,爬虫将创建一个具有单个FileFormField字段的文件表单字段数组一个字段可以保存一个文件,因此您需要为多个文件使用多个字段。我通过手动向FileFormField表单添加更多内容解决

$form = ...
// get file field node in DOM
$node = $crawler->filter("input[name='formtype[filename][]']")->getNode(0);

// add additional fields to form (you can create as many as you need)
$newField = new FileFormField($node);
$form->set($newField);
...
// set files with upload()
$form['formtype[filename]'][0]->upload($uploadedFile1);
$form['formtype[filename]'][1]->upload($uploadedFile2);
...

//or with submit values 
$crawler->submit($form, [
  ...
 'formtype[filename]' => [$uploadedFile1, $uploadedFile2]

]);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

symfony功能测试webtestcase不起作用

来自分类Dev

symfony功能测试webtestcase不起作用

来自分类Dev

在Symfony中上传文件

来自分类Dev

Symfony 2.7上传文件

来自分类Dev

Symfony 3表单多文件上传问题

来自分类Dev

Symfony 3表单多文件上传问题

来自分类Dev

Symfony 2.4多个文件上传

来自分类Dev

我们可以使用Symfony \ Bundle \ FrameworkBundle \ Test \ WebTestCase进行symfony 2控制台命令测试吗?

来自分类Dev

Symfony 2多文件上传嵌入表单的另一种形式

来自分类Dev

Symfony2-使用动态创建的字段上传功能测试文件

来自分类Dev

Symfony文件上传和UploadedFile :: getClientSize()

来自分类Dev

在Symfony2中上传文件

来自分类Dev

Symfony2上传多个文件

来自分类Dev

在Symfony文件上传中获取图像尺寸

来自分类Dev

Symfony 3文件上传

来自分类Dev

Symfony删除使用文件系统上传的图像

来自分类Dev

在Symfony 2中处理plupload文件上传

来自分类Dev

Symfony2上传文件,不带表单

来自分类Dev

在Symfony2中上传文件

来自分类Dev

在Symfony文件上传中获取图像尺寸

来自分类Dev

Symfony多对多

来自分类Dev

Symfony多对多

来自分类Dev

Symfony多域登录

来自分类Dev

Symfony测试实体

来自分类Dev

Symfony测试和环境

来自分类Dev

Symfony 2文件上传设置默认文件

来自分类Dev

使用symfony上传文件时找不到文件错误

来自分类Dev

Symfony学说多对多插入

来自分类Dev

Symfony 3形式多对多