Я хотел бы каким-то образом получить список всех тегов, которые я использовал в своем проекте, и получить все имена сценариев огурцов, которые у меня есть в моем проекте, без запуска тестов. Может ли кто-нибудь помочь мне, как я могу это сделать?
Как получить все теги и сценарии огурцов без запуска тестов
Ответы (3)
Как предложил @mpkorstanje, вы можете создать для этого собственный плагин.
public class DryRunPlugin implements EventListener {
@Override
public void setEventPublisher(EventPublisher publisher) {
publisher.registerHandlerFor(TestCaseStarted.class, this::handleCaseStarted);
}
private void handleCaseStarted(TestCaseStarted event) {
System.out.println(event.getTestCase().getUri());
System.out.println(event.getTestCase().getName());
System.out.println(event.getTestCase().getScenarioDesignation());
event.getTestCase().getTags().stream().forEach(t ->
System.out.println(t.getName()));
}
}
@CucumberOptions(glue = "stepdef", plugin = {
"formatter.DryRunPlugin" }, features = "src/test/resources/feature/", dryRun = true)
Вы получите вывод, как показано ниже.
file:src/test/resources/feature/scenarios1.feature
Scenario 1
src/test/resources/feature/scenarios1.feature:5 # Scenario 1
@Feature
@ScenarioOne
Образец файла признаков.
@Feature
Feature: Scenario and Scenario Outline Combination
@ScenarioOne
Scenario: Scenario 1
And this is "FIRST" step
And this is "SECOND" step
person
Grasshopper
schedule
06.04.2019
Насколько мне известно, огурец не позволит вам получить список всех тегов и имен сценариев без выполнения тестов.
Возможно, вам нужно будет использовать какой-нибудь язык сценариев, такой как VB Script, найти позицию @ в файле, получить имя тега и сохранить одно за другим в файле. Точно так же после Scenario Outline получите текст всей строки и сохраните один за другим в файле и повторите то же самое для всех файлов в каталоге.
person
TheSociety
schedule
05.04.2019
Вы можете использовать
--dry-run
или эквиваленты для запуска огурца, но ничего не выполнять.
- person M.P. Korstanje; 05.04.2019
Будет ли он возвращать список тегов и связанных с ними имен сценариев
- person TheSociety; 05.04.2019
Нет, но вы можете создать плагин для распечатки этой информации.
- person M.P. Korstanje; 05.04.2019
Запустите оболочку bash и перейдите в папку. Тип:
grep -nri "Scenario:\|Scenario Outline:" .
получить все анализы. И:
grep -nri "@" .
Чтобы получить все имена тегов
(В обоих случаях обратите внимание на точку в конце командной строки)
person
lourdes
schedule
01.05.2020