尝试使用Laravel框架5.6安装CodeCeption
我收到此错误。
我遵循的安装步骤是 1.作曲者需要代码接收/代码接收--dev 2. php ./vendor/bin/codecept引导程序
我遇到的错误是
Fatal error: Declaration of Codeception\Test\Unit::getDependencies() must be compatible with PHPUnit\Framework\TestCase::getDependencies(): array in /vendor/codeception/codeception/src/Codeception/Test/Unit.php on line 14
有人可以告诉您如何解决此问题或将其降级并使其与Laravel 5.6兼容吗?
答案 0 :(得分:2)
在Codeception / Test / Unit.php第133行中,将getDependencies函数更改为具有数组返回类型。 : array
更改后,getDependencies函数应如下所示。
public function getDependencies(): array
{
$names = [];
foreach ($this->getMetadata()->getDependencies() as $required) {
if ((strpos($required, ':') === false) and method_exists($this, $required)) {
$required = get_class($this) . ":$required";
}
$names[] = $required;
}
return $names;
}
答案 1 :(得分:2)
这只是fixed in codeception/codeception
version 2.4.5,所以运行composer update
,该错误应该不再发生了。
来自变更日志(重点是我的):
2.4.5
- 已修复PHPUnit 7.2兼容性。
- 引入了 RunBefore 扩展名以在运行测试之前执行脚本。参见@aashmelev#5049。
- [Db]通过@bangertz为MySQL添加了两个选项
ssl_cipher
-用于SSL加密的一个或多个允许密码的列表ssl_verify_server_cert
-禁用证书CN验证- [Db]设置为
reconnect
时,请务必先断开连接。通过@ashnazg- [Db]更明确的PDO销毁后关闭,@ ashnazg关闭已打开的交易。
- [记录器扩展]通过@OneEyedSpaceFish改进了错误记录。参见#5101
- [流明]修复了通过REST模块上传文件的问题。通过@retnek。
- 已修复:函数getMetadata()可能不存在,导致致命错误。参见@marcovtwout的#4913