为什么Before Group中的代码在组中的每个测试之前执行?

Why is the code from Before Group executed before each test in group?

我的目标是在属于特定组的每个测试之前阻止浏览器重新启动。 我有一个 GroupObject(如 https://codeception.com/docs/08-Customization 中所述)监听测试组 "pay_form":

的事件
<?php

namespace Group;

class PayForm extends \Codeception\GroupObject
{
    public static $group = "pay_form";

    public function _before(\Codeception\Event\TestEvent $e)
    {
      var_dump("BEFORE GROUP!");
      $this->getModule('WebDriver')->_reconfigure(['restart' => 
      false]);
    }
}

codeception.yml:

extensions:
enabled:
    - Codeception\Extension\RunFailed
    - Group\PayForm

问题是,无论如何浏览器都会在每次测试中重新启动,而且我在每次测试的控制台中也看到 "BEFORE GROUP"。

为什么 _before 中的代码在每个测试中执行,而不是在一组测试之前执行一次?

是否有另一种方法可以阻止浏览器仅在特定组的测试之间重新启动?

Why is the code from _before executed in each test, not once before a group of tests?

  1. 测试未按组排序。
  2. _before hook 在每次测试之前执行,_beforeSuite hook 在 suite 之前执行。没有 _beforeGroup 挂钩 - https://codeception.com/docs/06-ModulesAndHelpers#Hooks

And is there another way stop the browser from restarting between tests only in a certain group?

如何将这些测试移至不同的套件?