После обновления cucumber-groovy я получаю «Доступ к ‘PickleStepTestStep’ превышает его права доступа»

#groovy #cucumber

#groovy #огурец

Вопрос:

После обновления cucumber-groovy с версии 4.7.1 до 6.1.2 я начал получать сообщение об ошибке Access to 'PickleStepTestStep' exceeds its access rights . В старой версии это было cucumber.api.PickleStepTestStep , а теперь в io.cucumber.core.runner.PickleStepTestStep

Как я вижу PickleStepTestStep сейчас, это частный класс.

Как я могу получить текущее имя шага сейчас?

Пример того, как я его использую:

 class ErrorLogger {

    List<String> errorHolder = new ArrayList<>()

    PickleStepTestStep currentStepDef

    int currentStepDefIndex = 0

    void setNewStepState(TestCase testCase) {
        List<PickleStepTestStep> stepDefs = testCase.getTestSteps().findAll { it instanceof PickleStepTestStep } as List<PickleStepTestStep>

        currentStepDef = stepDefs.get(currentStepDefIndex)
        newStep = true
        currentStepDefIndex  
    }

    private void addNewStepInfoToList() {
        errorHolder.add('############################################################')
        errorHolder.add('[ERROR] STEP NAME: '   currentStepDef.getStepText())
        newStep = false
    }
}
 

Та же проблема, что и с классом TestCase.

Импорт выглядит следующим образом:

     cucumber_groovy          : "io.cucumber:cucumber-groovy:6.1.2",
    cucumber_junit           : "io.cucumber:cucumber-junit:4.7.1",
    groovy                   : 'org.codehaus.groovy:groovy-all:3.0.5',
 

Комментарии:

1. Вы захотите использовать классы / интерфейсы из cucumber-plugin модуля. Вы можете собрать все шаги с TestStepFinished помощью события. github.com/cucumber/cucumber-jvm/tree/main/plugin/src/main/java /…

2. @m-p-korstanje Где я могу найти информацию, как я могу ее использовать и как я могу получить имя шага таким образом?

Ответ №1:

Мы должны только изменить используемый класс с cucumber.api.PickleStepTestStep на интерфейс с cucumber-plugin : io.cucumber.plugin.event.PickleStepTestStep

Дополнительная информация здесь: https://medium.com/@cheparsky/migration-cucumber-older-version-4-to-newer-version-6-133ffb60813d