我正在尝试测试我创建的使用带有实体类的字段的表单类型
这是表格的创建
$builder
->add('name', 'text')
->add('description', 'textarea')
->add('services', 'entity', array('class' => 'MyBundle:Service', 'group_by' => 'category.name', 'property' => 'name', 'multiple' => true, 'required' => false));
当我生成表单时,这很好用,但是随后我试图对该类型进行单元测试跟随this example讨论如何测试我的自定义表单类型
我收到此错误
Symfony\Component\Form\Exception\Exception:无法加载类型“实体”
该错误是在此命令的单元测试开始时引起的:
$type = new MyType();
$form = $this->factory->create($type);
关于如何修复此错误以便使用实体测试我的自定义表单类型的任何想法?提前致谢
最佳答案
我猜您不能使用实体类型对测试表单进行单元测试,因为它被定义为服务。您尝试过adding it manually吗?
编辑:恕我直言,您应该模拟实体类型,因为它涉及学说,该学说取决于现有的数据库连接以及加载的完整内核。因此,您不再进行单元测试。这将是功能测试。也许这就是为什么它在单元测试中不可用的原因。
关于forms - Symfony2使用尝试对其进行测试的实体的自定义表单类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16341149/