Symfony2 LiipFunctionalTestBundle overriding @validator service

拜拜、爱过 提交于 2019-12-12 11:13:46

问题


I am trying to inject @validator into my service but LiipFunctionalTestBundle is overriding that service when it gets injected.

admin.image_service:
    class: AdminBundle\Service\ImageService
    arguments: ["@validator", "@doctrine.orm.admin_entity_manager", "@image_storage_filesystem"]

Which results in the error

must be an instance of Symfony\Component\Validator\Validator\RecursiveValidator, instance of Liip\FunctionalTestBundle\Validator\DataCollectingValidator given

running php bin/console debug:container results in

liip_functional_test.validator: Liip\FunctionalTestBundle\Validator\DataCollectingValidator

validator: alias for "liip_functional_test.validator"

Is there a way to get around this over than remove liip and refactor all of my tests?


回答1:


In Your service you should typehint Interface not exact class.

Instdead Symfony\Component\Validator\Validator\RecursiveValidator use Symfony\Component\Validator\Validator\ValidatorInterface - which is implemented by both classes (Symfony and Liip).



来源:https://stackoverflow.com/questions/35876322/symfony2-liipfunctionaltestbundle-overriding-validator-service

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!