Как запустить код до / после набора огурцов? - PullRequest
0 голосов
/ 05 июля 2018

Я пытаюсь выяснить, как выполнить код до и после всех моих тестов на огурец.

В течение нескольких дней я отслеживал ошибку, когда некоторые наши процессы создают задания на сервере, а не исправляют их должным образом. Это легко пропустить, так что в идеале я не хочу, чтобы инженеры вручную добавляли проверку к каждому тесту.

Я надеялся, что будет способ вставить хук до того, как будут выполнены какие-либо тесты для кеширования количества заданий на сервере, а затем хук в конце, чтобы убедиться, что значение не изменилось.

Я знаю, что на самом деле это не лучший способ использовать огурец, так как это скорее относится к типу системных тестов, но делать это таким образом было бы лучшим способом вписать его в существующую инфраструктуру.

Ответы [ 2 ]

0 голосов
/ 08 июля 2018

Используйте @BeforeClass и @AfterClass аннотации в вашем файле запуска.

@RunWith(Cucumber.class)
@Cucumber.Options(
    format = {"json", "<the report file>"},
    features = {"<the feature file>"},
    strict = false,
    glue = {"<package with steps classes>"})
public class TestRunFile { 
    @BeforeClass
    public static void getJobNumbersOnServerBeforeStarting() {
        //Implement logic
    }

    @AfterClass
    public static void getJobNumbersOnServerAfterCompletion() {
        //Implement logic
    }
}
0 голосов
/ 05 июля 2018

Как насчет использования помеченных крючков.

@Before("@jobCheck")
public void beforeScenario() {
  // actions
}

@After("@jobCheck")
public void afterScenario() {
  // actions
}

И затем для каждого сценария, который требует этой проверки, добавьте @jobCheck перед определением сценария, как показано ниже.

Feature: Some feature description
  @jobCheck
  Scenario: It should process a sentence
    // The steps

Подробнее о хуках JVM здесь: https://zsoltfabok.com/blog/2012/09/cucumber-jvm-hooks/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...