내 Symfony 컨트롤러에 대한 단위 테스트를 작성하고이 걸림돌을 치려고합니다.symfony에서 phpunit으로 formbuilder를 조롱
내 컨트롤러 메서드가 양식을 반환하므로 해당 형식의 값을 확인하여 예상 한대로 확인하고 싶습니다.
나는 그것을 을 조롱 수있는 경우에도 내가 전달 된 값을 확인 할 수 있습니다 방법을 모르는-
,
여기 심포니 컨텍스트에서 'form.factory'을 요청하면, 내 $의 formBuilder을받을 수 있도록 내가 (증류)
$formBuilder = $this->getMock('Symfony\Component\Form\Tests\FormBuilderInterface',Array('add'));
$formFactory = $this->getMock('Symfony\Component\Form\FormFactoryInterface');
$formFactory
->expects($this->any())
->method('createBuilder')
->will($this->returnValue($formBuilder));
및 설정있어거야.
내 컨트롤러에서 다음, 내가 기본 컨트롤러에 CreateFormBuilder 호출이 조롱 폼 빌더 인터페이스를 반환 사실이지만, 추가 방법을 사용할 수없는 것을 확인 한
$form = $this->createFormBuilder($task)
->add('CountryCode', 'text')
->add('State', 'text')
->add('Locality', 'text')
->add('OrganizationName', 'text')
->add('OrganizationalUnitName', 'text')
->add('CommonName', 'text')
->add('EmailAddress', 'text')
->add('company', 'text')
->add('save', 'submit')
->getForm();
간단한 양식, 그리고 모든 단지
그래서 나는 토론 ABO를 많이 봤어요 ...
내 formbuilder이 옳은 일을하지 않는 것을 의미한다Fatal error: Call to a member function add() on a non-object
와 불면 유능한 답변이 아니라, '컨트롤러 메소드를 단위 테스트하지 않는 것'이외에는 좋은 답변이 아닙니다. Symfony 문서는 FormBuilder 함수의 단위 테스트에 관한 것입니다 ... http://symfony.com/doc/current/cookbook/form/unit_testing.html
그 중 하나입니다. 감사. 컨트롤러가 폼에 설정 한 값을 확인할 수있는 방식으로이 작업을 수행하는 방법에 대한 생각은 무엇입니까? –