在功能测试中使用全局变量(使用 Symfony 和 Codeception)

Using globals in functional tests (with Symfony and Codeception)

我想测试这个功能:

static protected function getContainerInterface()
{
    global $kernel;
    if (get_class($kernel) == 'AppCache') {
        /** @var \AppCache $cache */
        $cache = $kernel;
        $kernel = $cache->getKernel();
    }
    return $kernel->getContainer();
}

出现错误: 在 null 上调用成员函数 getContainer() 由这个字符串触发:

return $kernel->getContainer();

如何在 codeception 中将全局 $kernel 对象传递给爬虫(即 FunctionalTester 的实例)?

全局变量是一种不好的做法。我可以假设当 运行 测试时,codeception 会创建自己的测试内核,并且这个内核不能全局使用。这个地方需要重构