在将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条答案
按热度按时间ioekq8ef1#
我们只应该将使用的类从
cucumber.api.PickleStepTestStep
更改为接口从cucumber-plugin
:io.cucumber.plugin.event.PickleStepTestStep
有关详细信息,请访问:https://medium.com/@cheparsky/migration-cucumber-older-version-4-to-newer-version-6-133ffb60813d