我正在关注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.
这是我的助手:
<?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
,我可以在其中注入所有助手,页面对象和步骤对象。
帮助器已正确加载到acceptance.suite.yml
。
答案 0 :(得分:0)
该错误发生在以前版本的Codeception中: https://github.com/Codeception/Codeception/issues/2230
2.1.2中的Codeception版本不应该有这个错误。