Разница в беге Огурец-JVM против бегуна огурца (Junit) - PullRequest
0 голосов
/ 10 мая 2018

Я довольно новичок в огурце.Я экспериментировал с ним, просто создав несколько тестовых функций, когда заметил разницу между запуском одной функции и всего пакета (из IntelliJ).

Я заметил, что когда я запускаю одну функцию, она запускается с использованиемПараметр cucumber-jvm и в этом случае CucumberConfig (пустой класс для определения параметров бегуна и огурца) и Runner не используются.Однако, когда я запускаю весь пакет, он запускается как тест JUnit, и, очевидно, в этом случае класс Config и бегун входят в рисунок.

Я подтвердил это следующим примером кода:

@RunWith(CustomRunner.class)
@CucumberOptions()
public class CucumberConfig {
    @BeforeClass
    public static void beforeClass()
    {
        System.out.println("This is run before Once: ");
    }

    @AfterClass
    public static void afterClass()
    {
        System.out.println("This is run after Once: ");
    }
}

CustomRunner

public class CustomRunner extends Cucumber {
        public CustomRunner(Class clazz) throws InitializationError, IOException {
            super(clazz);
            System.out.println("I am in the custom runner.");
        }

    }

Кроме того, я понимаю, что при работе в режиме cucumber-junit мы не можем передать определенную функцию для запуска, как в cucumber-jvm.Поправь меня, если я ошибаюсь.

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

Буду признателен, если кто-нибудь сможет дать некоторое представление об этом.

1 Ответ

0 голосов
/ 20 мая 2018

Когда вы используете IntelliJ IDEA для запуска тестов, IDEA будет использовать cucumber.api.Main для запуска тестов. Поэтому он не будет игнорировать CucumberConfig и не будет запускать @BeforeClass или @AfterClass, они используются только бегуном JUnit.

...