symfony2 unit-testing validation с пользовательским валидатором

Я пытаюсь написать тест для модели, которая имеет как обычные валидаторы, так и настраиваемый валидатор, использующий диспетчер сущностей и запрос. Я использую 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);

Конечно, это не удается, поскольку он не может найти валидатор, определенный для MyAssert \ Client, который является службой и должен быть разрешен каким-либо контейнером внедрения зависимостей.

Кто-нибудь знает, как заглушить настраиваемый валидатор или исключить его из проверки?

6
задан Sgoettschkes 9 February 2012 в 10:39
поделиться