我正在尝试将 TYPO3 v8 系统更新为 TYPO3 v9,但是在进行单元测试时,我遇到了一些错误。我能够自己修复其中的一些问题,但这里的这个对我来说是一个非常困难的问题,因为单元测试对我来说一般来说有点新。
我已经在网上搜索了 TYPO3 文档(似乎缺少重要部分?),询问了一些朋友并自己尝试了一些东西,但没有任何帮助。
$this->environmentMock = $this->createMock(Environment::class);
$this->environmentMock->expects($this->once())
->method("::isCli")
->will($this->returnValue(TRUE));
我希望手动覆盖 Environment 类附带的静态函数 ::isCli() 。如果这是不可能的,是否还有其他“解决方法”,例如设置受保护的变量或类似的东西?
目前这是我的错误信息:
Trying to configure method "::isCli" which cannot be configured because it does not exist, has not been specified, is final, or is static
提前致谢!
更新 1:
使用@susis tip 后,附加代码时出现以下错误:
TypeError: Return value of TYPO3\CMS\Core\Core\Environment::getContext() must be an instance of TYPO3\CMS\Core\Core\ApplicationContext, null returned
附加信息:我的项目只是一个扩展文件夹,在它自己的 composer.json 中需要 TYPO3 v9 源。没有网页,没有 htdocs,只有扩展文件夹。
大话西游666