我将AuthController定义为服务并希望对其进行测试。我添加了setUser方法,并希望DI使用安全上下文注入它。
类似的东西,但对:
$authController = $container->getDefinition('bundle_api.controller.auth');
$authController->addMethodCall('setUser', [function () use ($container) {
return $container->get('security.context')->getToken()->getUser();
}]);
如果我遇到您的问题,我会做以下两件事之一:
1 - 注入"security.context"并从那里开始
或
2 - 尝试 Symfony2 文档中详细描述的 di 工厂