Во всех тест ранерах методы называются по разному, но в JUnit и TestNg есть @beforeClass@AfterClass методы - они прогоняются один раз перед запуском тестов в классе
Нашел вариант с его использованием, но как я понял он может использоваться только в модулях или хелперах. А такой вариант мне не подходит.
А почему? Предположим, что у вас тесты будут запускаться не последовательно, а в случайном порядке. Запуск “перед всеми” тестами абсолютно эквивалентно тому чтобы быть запущеным в начале сьюты. Кроме того, если вы возьмете подобный функционал из PHPUnit - там конечно есть метод setUpBeforeClass, но он статичен, т.е. не принадлежит инстансу обьекта, и не имеет доступ к контексту $this. Т.е. он находится вне контекста теста
У меня есть несколько Cest со скоупами тестов внутри. Я хочу задавать в некоторых Cest метод _beforeSuite(_beforeCest), который будет выполняться 1 раз перед запуском тестов этого самого Cest. В других Cest содержимое метода _beforeSuite может меняться, или он вовсе не нужен в некоторых из них.
Пока не сообразил как можно заюзать этот ХУК, так чтобы решить мою задачу. Если я правильно понял, то используя этот хук в хэлепере он вызовется всего один раз, за один php codecept run. Если нет, то просьба объяснить как?