在更新cucumber-groovy后,我得到“访问'PickleStepTestStep'超出其访问权限”

lsmd5eda  于 2022-11-01  发布在  其他
关注(0)|答案(1)|浏览(128)

在将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',
ioekq8ef

ioekq8ef1#

我们只应该将使用的类从cucumber.api.PickleStepTestStep更改为接口从cucumber-pluginio.cucumber.plugin.event.PickleStepTestStep
有关详细信息,请访问:https://medium.com/@cheparsky/migration-cucumber-older-version-4-to-newer-version-6-133ffb60813d

相关问题