Тесты на огурец не читают файл cucumber.properties - PullRequest
2 голосов
/ 20 июня 2020

Я создал небольшой фрагмент приложения Spring Boot, используя Junit5 и Cucumber. Поскольку мне нужно использовать Junit5, я использую cucumber-junit-platform-engine, который не поддерживает аннотацию CucumberOptions

Как указано на веб-сайте cucumber.io:

Когда функция синтаксического анализа свойств не предоставленный бегуном (то есть cucumber-junit-platform-engine) Cucumber будет в порядке приоритета анализировать свойства из системных свойств, переменных среды и файла cucumber.properties.

Поэтому я добавил после файла с именем cucumber.properties в мой каталог src/test/resources со следующим содержимым:

cucumber.plugin=json:target/cucumber-reports/,pretty

Тем не менее, когда я запускаю свои тесты, этот файл, кажется, игнорируется, поскольку отчеты не создаются, пока я передаю то же свойство через аргументы cli, такие как:

mvn test -Dcucumber.plugin=json:target/cucumber-reports/,pretty, он генерирует ожидаемые отчеты json.

Я также попытался поместить файл в src/main/resources и src/main/test/cucumber.demo (где файлы функций находятся), но ни одна из этих попыток не сработала. Есть идеи, почему файл игнорируется?

Вот мой класс Runner:

@Cucumber
public class CucumberTest {
    
}

и мой класс определения шага:

@CucumberContextConfiguration
@SpringBootTest
public class StepDefinition {

    @Autowired
    String bean;

    //Step Definition 
    (...)

}

1 Ответ

3 голосов
/ 20 июня 2020

Когда вы используете Cucumber с JUnit5 через cucumber-junit-platform-engine, тесты запускаются платформой JUnit. Платформа JUnit предоставляет функциональные возможности синтаксического анализа свойств.

Существует несколько различных способов предоставления свойств платформе JUnit. Один из них - файл junit-platform.properties. Подробнее об этом можно прочитать здесь:

...