我有一个Codeception cest文件,里面有很多测试。
在某些测试中,我希望在_before()
挂钩中有初始化。这些初始化仅适用于那些测试,而且不适用于cest文件中的其他测试。
我该如何解决这个问题?
伪代码就像
public _before($event)
{
if ($event->test_being_run == 'testThatFeature')
{
$init = something(here);
}
}
通过调查,我意识到传递到$event
钩子的_before()
变量是生成的AcceptanceTester
的一个实例;而不是\Codeception\Event\TestCase
。所以我不能使用充满希望的$event->getTest()->getTestFullName()
。
答案 0 :(得分:0)
Codeception根据类型提示注入参数。
如果你想获得\ Codeception \ Event \ TestCase,你的代码必须如下所示:
public _before(\Codeception\Event\TestCase $event)
答案 1 :(得分:0)
我在_before方法中发现的关于接收测试用例的所有信息都是关于_before模块和扩展的方法,它不适用于测试。
如果您想为一个测试运行特定代码,只需在测试代码中运行它。