getMock('Symfony\Component\Validator\ConstraintValidatorInterface'); $validatorMock->expects($this->once()) ->method('isValid') ->with($this->equalTo('Bernhard'), $this->equalTo($constraint)) ->will($this->returnValue(false)); $validatorMock->expects($this->atLeastOnce()) ->method('getMessageTemplate') ->will($this->returnValue('message')); $validatorMock->expects($this->atLeastOnce()) ->method('getMessageParameters') ->will($this->returnValue(array('param' => 'value'))); $factoryMock = $this->getMock('Symfony\Component\Validator\ConstraintValidatorFactoryInterface'); $factoryMock->expects($this->once()) ->method('getInstance') ->with($this->equalTo($constraint->validatedBy())) ->will($this->returnValue($validatorMock)); $validator = new Validator($metadata, $factoryMock); $builder = new PropertyPathBuilder(); $expected = new ConstraintViolationList(); $expected->add(new ConstraintViolation( 'message', array('param' => 'value'), $subjectClass, $builder->atProperty('firstName')->getPropertyPath(), 'Bernhard' )); $this->assertEquals($expected, $validator->validateProperty($subject, 'firstName')); */ } }