フォーム テスト リターン エラー
Tests\AppBundle\Form\Type\UserPreferencesTypeTest::testUserPreferencesForm Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException: オプション「制約」が存在しません。定義されたオプションは次のとおりです。 "、"choices_as_values"、"compound"、"data"、"data_class"、"disabled"、"empty_data"、"error_bubbling"、"expanded"、"group_by"、"inherit_data"、"label"、"label_attr"、 "ラベルフォーマット","
ここに私のフォームがあります
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('global_review_count_threshold', ChoiceType::class, array(
'choices' => array(
'5%' => 5,
'10%' => 10,
'15%' => 15,
'20%' => 20,
'25%' => 25,
'30%' => 30,
'35%' => 35,
'40%' => 40,
'45%' => 45,
'50%' => 50,
), 'constraints' => array( new NotBlank(),), 'label' => "Global Review Count Threshold",
'data' => $options['review_count_choice']
));
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'review_count_choice' => null,
));
}
public function getName()
{
return 'app_bundle_user_preferences_form';
}
そして私のフォームテスト
public function testUserPreferencesForm()
{
$formData = array(
'global_review_count_threshold' => '10%',
);
$form = $this->factory->create(UserPreferencesType::class);
//$object = TestObject::fromArray($formData);
$form->submit($formData);
$this->assertTrue($form->isSynchronized());
//$this->assertEquals($object, $form->getData());
$view = $form->createView();
$children = $view->children;
foreach (array_keys($formData) as $key) {
$this->assertArrayHasKey($key, $children);
}
}