1

フォーム テスト リターン エラー

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);
        }
    }
4

1 に答える 1