【发布时间】:2016-01-01 12:43:01
【问题描述】:
我是 Codeception 的新手,但在注入页面对象时遇到了问题。当我将以下构造逻辑添加到我的页面对象时,就会出现问题。
public function __construct(\AcceptanceTester $I) {
$this->tester = $I;
}
...我从这里的登录页面对象示例中得到这个:http://codeception.com/docs/06-ReusingTestCode#PageObjects
我得到的错误是:
[代码接收\异常\注入异常] 无法在“MyCest”实例中注入依赖项。无法创建“页面\登录”的实例。未能创建“AcceptanceTester”的实例。无法创建“Codeception\Scenario”的实例。无法解析依赖项“Codeception\TestCase”。
这就是我在 Cest 中注入页面的方式。
protected function _inject(\Page\Login $login) {
$this->login_page = $login;
}
如果我删除 __construct 代码,错误就会消失。这是 Codeception 中的错误还是我做错了什么?
这是我找到的解决方法...
use \AcceptanceTester;
use Page\Login as LoginPage;
class MyCest {
protected $login_page;
public function _before(AcceptanceTester $I) {
$this->login_page = new LoginPage($I);
}
}
【问题讨论】:
标签: dependency-injection codeception