Я пытаюсь написать тест для модели, которая имеет как несколько обычных валидаторов, так и собственный валидатор, используя менеджер сущностей и запрос.Я использую phpunit для своих тестов, если это важно по какой-то причине.
Я тестирую пользовательский валидатор в другом тесте, заглушая и менеджер сущностей, и запрос, а затем проверяя некоторые объекты.Поскольку это доказывает, что пользовательская проверка работает, мне нужно будет только проверить нормальную проверку и, если это возможно, просто оставить пользовательский валидатор вне.
Вот моя модель:
/**
* @MyAssert\Client()
*/
abstract class BaseRequestModel {
/**
* @Assert\NotBlank(message="2101")
*/
protected $clientId;
/**
* @Assert\NotBlank(message="2101")
*/
protected $apiKey;
// ...
}
В моем тесте я получаю валидатор, создаю объект и затем проверяю его.
$validator = ValidatorFactory::buildDefault()->getValidator();
$requestModel = new RequestModel();
$errors = $validator->validate($requestModel);
Конечно, это не удается, так как он не может найти Validator, определенный для MyAssert \ Client, который является сервисом и нуждается в нем.должен быть разрешен каким-то контейнером внедрения зависимости.
Кто-нибудь знает, как либо заглушить пользовательский валидатор, либо исключить его из проверки ?