Перейти к содержимому

Программирование на Python для тестировщиков
онлайн, начало 23 октября
Тестирование безопасности
онлайн, начало 28 октября
Школа для начинающих тестировщиков
онлайн, начало 22 октября
Автоматизатор мобильных приложений
онлайн, начало 28 октября
Фотография

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

JUnit Cucumber

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 Aleksey_2

Aleksey_2

    Новый участник

  • Members
  • Pip
  • 17 сообщений

Отправлено 17 июля 2020 - 11:24

Здравствуйте. Известно, что 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 использовать не могу).


  • 0

#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 779 сообщений


Отправлено 17 июля 2020 - 14:46

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

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


  • 1

#3 Aleksey_2

Aleksey_2

    Новый участник

  • Members
  • Pip
  • 17 сообщений

Отправлено 20 июля 2020 - 05:57

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

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

Попробовал так:

@BeforeClass
  public static void setup() {
    System.out.println("this method will bw executed before all scenarios");
  }

И аналогично для @AfterClass.

 

Странно, но метод не отрабатывает. Соответствующего сообщения в консоли нет.

 

Попробовал вместо @BeforeClass написать @BeforeAll  (т.к. у меня JUnit 5), всё равно не запускается метод.


  • 0

#4 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 779 сообщений


Отправлено 20 июля 2020 - 07:09

Вы включили junit-vintage-engine? Т.к. кукумбер использует 4 версию. Думаю, что и вам надо её использовать.

Cucumber is based on JUnit 4. If you’re using JUnit 5, remember to include junit-vintage-engine dependency, as well.

https://junit.org/ju...-junit4-running


  • 0


Программирование на С# для тестировщиков
онлайн
Автоматизатор мобильных приложений
онлайн
Selenium WebDriver: полное руководство
онлайн
Программирование на Python для тестировщиков
онлайн




Темы с аналогичным тегами JUnit, Cucumber

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале