PHP v7.2.3
PHP单元8.2.3
编码接收3.0.2
当我尝试运行测试时,出现以下错误:
声明 Codeception \ Test \ Test :: run(?PHPUnit \ Framework \ TestResult $ result = NULL)必须与 PHPUnit \ Framework \ Test :: run(?PHPUnit \ Framework \ TestResult $ result = NULL):中的PHPUnit \ Framework \ TestResult /var/com/vendor/codeception/codeception/src/Codeception/Test/Test.php 在第18行
当我查看PHPUnit \ Framework \ Test :: run的定义时,我看到它指定了返回类型,但Codeception \ Test \ Test :: run却没有,这似乎是问题所在。
我已经在各自的git存储库中检查了这两个文件的版本历史记录,看来这些文件在许多版本中都是这种方式。
经过大量搜索之后,似乎没有其他人发布过该问题,这使我觉得我缺少一些关键的见识。
在此问题上发表的任何看法将不胜感激,谢谢!
答案 0 :(得分:0)
最后,全新安装的Symfony最新版本和Codeception提供了可行的解决方案。
由于这最初是来自另一个symfony 3应用程序(具有旧版本的代码接收)的端口,所以很可能存在配置错误或不兼容的软件包。
后来我想到的另一个可能的原因是,在先前版本的symfony中,用于代码接收的cli是从常规bin目录“ bin / codecept”运行的,而现在我们直接从“ vendor / bin / codecept”运行我的CI脚本引用的是过时的cli。