From 272e47970499a4c20a191cc48bfed5129499407b Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Wed, 13 Mar 2019 17:16:58 +0100 Subject: [PATCH] do not mock the validator in form type tests --- form/unit_testing.rst | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/form/unit_testing.rst b/form/unit_testing.rst index fff9274ad42..16f3684db24 100644 --- a/form/unit_testing.rst +++ b/form/unit_testing.rst @@ -182,31 +182,22 @@ allows you to return a list of extensions to register:: namespace Tests\AppBundle\Form\Type; // ... - use AppBundle\Form\Type\TestedType; use Symfony\Component\Form\Extension\Validator\ValidatorExtension; - use Symfony\Component\Form\Form; - use Symfony\Component\Validator\ConstraintViolationList; - use Symfony\Component\Validator\Mapping\ClassMetadata; - use Symfony\Component\Validator\Validator\ValidatorInterface; + use Symfony\Component\Validator\Validation; class TestedTypeTest extends TypeTestCase { - private $validator; - protected function getExtensions() { - $this->validator = $this->createMock(ValidatorInterface::class); - // use getMock() on PHPUnit 5.3 or below - // $this->validator = $this->getMock(ValidatorInterface::class); - $this->validator - ->method('validate') - ->will($this->returnValue(new ConstraintViolationList())); - $this->validator - ->method('getMetadataFor') - ->will($this->returnValue(new ClassMetadata(Form::class))); + $validator = Validation::createValidator(); + + // or if you also need to read constraints from annotations + $validator = Validation::createValidatorBuilder() + ->enableAnnotationMapping() + ->getValidator(); return [ - new ValidatorExtension($this->validator), + new ValidatorExtension($validator), ]; }