【发布时间】:2020-06-25 17:57:42
【问题描述】:
我已将 Cucumber 版本更新到 5.4.2,但由于出现 Inconvertible types; cannot cast 'io.cucumber.java.Scenario' to 'cucumber.runtime.ScenarioImpl' 错误,这段代码停止工作。
Field field = FieldUtils.getField((scenario).getClass(), "stepResults", true);
有什么办法可以让它恢复工作?
这是this SO post的整段代码
private static String logError(Scenario scenario) {
Field field = FieldUtils.getField((scenario).getClass(), "stepResults", true);
if (field != null) {
field.setAccessible(true);
try {
ArrayList<Result> results = (ArrayList<Result>) field.get(scenario);
for (Result result : results) {
if (result.getErrorMessage() != null)
if (result.getErrorMessage().length() >= 10000) {
return FAILED_COMMENT + "\n" + result.getErrorMessage().substring(0, 10000);
} else {
return FAILED_COMMENT + "\n" + result.getErrorMessage();
}
}
} catch (Exception e) {
return FAILED_COMMENT;
}
}
return FAILED_COMMENT;
}
非常感谢。
【问题讨论】: