当前位置: 首页 > 知识库问答 >
问题:

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

昝枫
2023-03-14

PHP v7.2.3
PHP单元8.2.3
Codeception 3.0.2

当我尝试运行测试时,我得到以下错误:

Codeception\Test\Test::run(?PHPUnit\Framework\TestResult$result=NULL)的声明必须与第18行的PHPUnit\Framework\TestResult::run(?PHPUnit\Framework\TestResult$result=NULL)兼容:PHPUnit\Framework\TestResult在/var/com/vendor/Codeception/Codeception/src/Codeception/Test/Test.php中

当我查看PHPUnit\Framework\Test::run的定义时,我看到它指定了一个返回类型,但Codeception\Test\Test::run没有,这似乎就是问题所在。

我在各自的git repo中查看了这两个文件的版本历史记录,似乎这些文件在许多版本中都是这样的。

经过多次搜索,似乎没有其他人发布这个问题,这让我觉得我遗漏了一些关键的见解。

如果您能对这个问题有所了解,我们将不胜感激,谢谢!

共有1个答案

夔光霁
2023-03-14

最后,Symfony最新版本的新安装和代码欺骗提出了一个工作解决方案

由于这最初是来自另一个symfony 3应用程序(使用旧版本的codeception)的端口,因此可能存在配置错误或不兼容的包。

我后来遇到的另一个可能原因是,symfony早期版本中codeception的cli是从常规bin目录“bin/codecept”运行的,而现在我们直接从“vendor/bin/codecept”运行可能是我的CI脚本引用了过时的cli。

 类似资料:
  • JUnit是一个Regression Testing Framework ,开发人员使用它来实现Java中的单元测试,并加快编程速度并提高代码质量。 JUnit Framework可以轻松地与以下任何一个集成 - Eclipse Ant Maven JUnit测试框架的特性 JUnit测试框架提供以下重要功能 - Fixtures 测试套件 测试跑步者 JUnit类 Fixtures Fixtur

  • 问题内容: 考虑以下两行代码 和 在性能上,以上两个语句有什么区别吗?我见过很多人使用后者,当被问及他们说这是最佳实践时,没有充分的理由。 问题答案: 没有不同。 第二个原因仅仅是因为C / C ++程序员总是执行分配而不是比较。 例如 而java编译器会生成编译错误。 因此,由于可读性强,我个人更喜欢第一个,人们倾向于从左到右阅读,而不是。

  • 问题内容: 如果我运行以下 响应为“通过”。看到我的测试文件不包含称为的测试,我希望上面的命令返回FAIL 问题答案: 如果没有该选项,则会运行所有测试。您可以使用选项 不运行所有测试 ;以 过滤掉 ,以 排除 测试(和你的形式做到这一点 ,需要 的非排他性的测试名称 匹配 正规表达式模式-但这是无关紧要的形式讨论的点): 命令去,测试包: 默认情况下,go test不需要参数。它使用当前目录中的

  • test() 方法 用于检测一个字符串是否匹配某个模式。 语法: RegExpObject.test( string ) 参数说明: string - 要检索的字符串 返回值: 如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。 说明: 调用 RegExp 对象 r 的 test() 方法,并为它传递字符串 s,与这个表示式是等

  • 用于测试的一些脚本。

  • 描述 (Description) test方法在字符串中搜索与regexp匹配的文本。 如果找到匹配,则返回true; 否则,它返回false。 语法 (Syntax) 其语法如下 - RegExpObject.test( string ); 参数细节 (Parameter Details) string - 要搜索的字符串 返回值 (Return Value) 如果找到匹配则返回匹配的文本,否