t.me/atinfo_chat Telegram группа по автоматизации тестирования

Аннотация для метода, запускаемого 1 раз перед всей группой тестов

Теги: #<Tag:0x00007f7487adac98> #<Tag:0x00007f7487adaba8> #<Tag:0x00007f7487adaa68>

Здравствуйте. Известно, что Cucumber поддерживает хуки (hooks) – методы, запускаемые до или после сценария. Для их обозначения используются аннотации @Before и @After. Метод c аннотацией @Before будет запускаться перед каждым сценарием, @After – после.

Пример класса с хуками:

public class Hooks {
 
  @Before
  public void init() {
        System.out.println("before each Cucumber scenario");
  }
 
  @After
  public void stop() {
        System.out.println("after each Cucumber scenario");
  }
}

Подскажите, какие я могу использовать аннотации, чтобы пометить метод, для того чтобы я мог запустить его 1 раз перед всей папкой с фича-файлами (и после)? И если такой аннотации не существует, то можно ли это сделать как то по другому?

P.S.: Мне нужно использовать именно JUnit 5 (TestNG использовать не могу).

вы как тесты по итогу запускать хотите?
если вам что-то нужно делать перед запуском тестов - напишите скрипт, который это будет делать, потом это легко встроить в ci

1 Симпатия

@BeforeClass и @AfterClass поддерживаются, но не рекомендуются.

https://cucumber.io/docs/cucumber/api/#running-cucumber - в самом конце раздела - Supported JUnit annotations

1 Симпатия

Если вас интересуют разовые запуски глобально то тут есть хороший ответ, в свое время мне помогло

1 Симпатия

Спасибо. Кажется то, что надо.
Только такая проблемка: я так понимаю этот пример по ссылке для старой версии Кукумбера. У меня сейчас Кукумбер 5.6.0 , и данный код не работает. Сейчас попробую разобраться, как его переделать для более новой версии…
Сейчас вот так попробую:

public class Initialization implements EventListener, Plugin {
     // ......
}