如何在_before()钩子中定位测试

时间:2015-09-16 13:49:58

标签: codeception

我有一个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()

2 个答案:

答案 0 :(得分:0)

Codeception根据类型提示注入参数。

如果你想获得\ Codeception \ Event \ TestCase,你的代码必须如下所示:

public _before(\Codeception\Event\TestCase $event)

答案 1 :(得分:0)

我在_before方法中发现的关于接收测试用例的所有信息都是关于_before模块和扩展的方法,它不适用于测试。

如果您想为一个测试运行特定代码,只需在测试代码中运行它。

相关问题