我正在遵循 http://codeception.com/docs/07-AdvancedUsage#Dependency-Injection 的示例
目前我在我的 Cest 中有这个:
/**
* @var Helper\MyHelper
*/
protected $myHelper;
protected function _inject(\Helper\MyHelper $myHelper)
{
$this->myHelper = $myHelper;
}
并产生以下错误:
Failed to inject dependencies in instance of 'HomeCest'. Failed to create instance of 'Helper\MyHelper'. Failed to create instance of 'Codeception\Lib\ModuleContainer'. Parameter 'config' must have default value.
这是我的 helper :
<?php
namespace Helper;
class MyHelper extends \Codeception\Module
{
public function login($email, $password = '')
{
$I = $this->getModule('PhpBrowser');
$I->fillField('email', $email);
$I->fillField('password', $password);
$I->click('Ok!');
}
}
我的目标是,如果我能做到这一点,那就是创建一个
BaseCest
,我可以在其中注入(inject)所有帮助程序、页面对象和步骤对象。帮助程序已正确加载到
acceptance.suite.yml
中。 最佳答案
该错误出现在以前版本的 Codeception 中:
https://github.com/Codeception/Codeception/issues/2230
2.1.2 的 Codeception 版本不应该有这个错误。
关于php - 无法从文档中复制 Codeception 依赖注入(inject)示例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31687299/