有没有人对如何对Symfony2 CompilerPassInterface::process()
实例进行单元测试有任何建议?
特别是,我想测试的那些通常处理标记的项目,将方法调用添加到“管理器”服务。
答案 0 :(得分:8)
如果要单独测试它,则必须模拟ContainerBuilder
,并模拟它返回的任何服务定义。
但这通常很烦人。所以我倾向于编写集成测试。事实上,这也是大多数编译器通过symfony核心测试的原因。
你会:
ContainerBuilder
$pass->process($container);
有关此示例,请查看RemoveUnusedDefinitionsPassTest。