Укажите расположение файла объекта в огурце
Я создал несколько этапов теста на огурец и небольшой тестовый пример на огурец [1], который я запускаю с помощью junit следующим образом:
@RunWith(Cucumber.class)
public class FuelCarTest {
//executs cucumber steps in the class FuelCarSteps
}
Файлы объектов огурца теперь автоматически загружаются из пути к классам в src/main/resources/<package-name>/*.feature
Я хотел бы знать, как я могу сказать огурцу расположение моих файлов объектов, потому что он мне нужен, чтобы загрузить их из местоположения вне пути к классам (например, data //).
5 ответов
Я нашел решение,
есть аннотация @Cucumber.Options, которая задает формат и расположение вывода отчета, а также позволяет указать местоположение для файлов объектов.
@Cucumber.Options(
format = {
"pretty",
"html:target/cucumber-html-report",
"json-pretty:target/cucumber- report.json"
},
features="features/"
)
Я поместил все файлы объектов в test/resources/features
и добавил мое расположение файла с указанием пути к классу. Вот мой прогон огурца.
@RunWith(Cucumber.class)
@CucumberOptions(
monochrome = true,
features = "classpath:features",
plugin = {"pretty", "html:target/cucumber-reports",
"json:target/cucumber.json"
}
)
public class MyTests
{
}
Это выберет все файлы объектов в папке функций. Если вы хотите иметь подпапки, вы также можете добавить их, просто заменив строку, как показано ниже.
features = "classpath:features/DEV"
Если только один конкретный файл функции, он должен быть таким
features = "classpath:features/DEV/SmokeTests.feature"
Здесь вы можете указать файл функции из папки, имя тега и результаты теста.
@RunWith(Cucumber.class)
@CucumberOptions(features="src/Login.feature",
format = {"pretty", "html:target/report/",
"json:target/report/cucu_json_report.json",
"junit:target/report/cucumber_junit_report.xml",}
tags ={"@ra1, @ra2"})
Вы можете использовать @CucumberOptions вместо @Cucumber.Options
@RunWith(Cucumber.class)
@CucumberOptions(
format = "pretty",
tags = {"~@Ignore"},
features = "src/test/resources/com/" //refer to Feature file
)
public class CucumberIT { }
Здесь ключевое слово feature для пути к вашей папке с файлами функций пример: папка с моими файлами функций, расположенная на рабочем столе
так что ключевое слово Feature Feature Feature="C:\Users\sanjay\Desktop\features"
@RunWith(Cucumber.class)
@CucumberOptions(
features = "C:\\Users\\sanjay\\Desktop\\features"
,glue={"com.stepDefination"}
,monochrome = false,
format = {"pretty", "html:target/Destination"}
)
public class TestRunner {
}