测试symfony 4的可重用捆绑包

时间:2018-01-05 15:26:30

标签: php symfony bundle

我尝试使用一个实现接口和一个注释的服务创建一个可重用的包。 在DependencyInjection中,我使用方法getConfigTreeBuilder

创建Configuration类
public function getConfigTreeBuilder()
{
    $treeBuilder = new TreeBuilder();
    $treeBuilder->root('sow_binding', 'array');
    return $treeBuilder;
}

和在class目录中加载services.yaml的Extension类。

public function load(array $configs, ContainerBuilder $container)
{
    $loader = new YamlFileLoader(
        $container,
        new FileLocator(__DIR__.'/../Resources/config')
    );
    $loader->load('services.yaml');
}

我创建了一个测试,他创建了一个使用我的注释和我的服务的假类,但是当我执行它时我得到了这个消息:

Error : Class 'SOW\BindingBundle\Service\BindingService' not found

在我的测试中,我实例化了我的服务(正确导入):

$bindingService = new BindingService($reader, 'SOW\Annotation\Binding');

这是我的services.yaml文件:

parameters:
    binding.annotation.class: SOW\Annotation\Binding

services:
    SOW\BindingBundle\Service\BindingService:
        alias: sow_binding.binder
        public: true
        arguments:
            - "@annotations.reader"
            - "%app.binding.annotation.class%"

为什么我的测试无法找到我的服务?

1 个答案:

答案 0 :(得分:0)

从绑定中删除应用。注解。 class不是有效的参考。