Symfony 2 - PHPUnit - pass $options to form test

时间:2015-06-30 13:56:48

标签: php forms symfony phpunit

i'm passing my symfony2 application to PHPUnit and i have some problems with the form test. In my form i have a choice list and i filled this list by passing from controller array of choices with $options like this :

//Controller
$form = $this->createForm(new AdddocType(), array(
    'docdata' => $myarray,
));

//Form
->add('myfield', 'choice', array(
    'choices' => $options['data']['docdata'],
    'multiple' => false,
    'required' => true,
    'expanded' => false,
))

And here my PHPUnit test :

public function testaddContact()
{
    $formData = array(
        'myfield' => 10,
        ...
        ...
    );

    $type = new AdddocType();
    $form = $this->factory->create($type);
    $form->submit($formData);

    $this->assertTrue($form->isSynchronized());
}

When i pass PHPUnit, the code stop at this line in my formType :

'choices' => $options['data']['docdata'],

My question is : How can i pass the $options in my PHPUnit test ?

Thanks

1 个答案:

答案 0 :(得分:0)

选项可以在create()的第三个参数中传递。找到它并不是很难......