Codeception \ Test \ Test :: run(?\ Framework \ TestResult $ result = NULL)必须与

时间:2019-06-30 15:09:00

标签: phpunit php-7 codeception

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存储库中检查了这两个文件的版本历史记录,看来这些文件在许多版本中都是这种方式。

经过大量搜索之后,似乎没有其他人发布过该问题,这使我觉得我缺少一些关键的见识。

在此问题上发表的任何看法将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:0)

最后,全新安装的Symfony最新版本和Codeception提供了可行的解决方案。

由于这最初是来自另一个symfony 3应用程序(具有旧版本的代码接收)的端口,所以很可能存在配置错误或不兼容的软件包。

后来我想到的另一个可能的原因是,在先前版本的symfony中,用于代码接收的cli是从常规bin目录“ bin / codecept”运行的,而现在我们直接从“ vendor / bin / codecept”运行我的CI脚本引用的是过时的cli。