黄瓜升级后运行测试时出现问题

时间:2019-08-28 08:21:40

标签: java intellij-idea cucumber

IntelliJ
Java
黄瓜

升级到最新的Cucumber版本后,我的测试不再运行。我一直在这里来回走动,毫无疑问地证明问题是在Cucumber升级之后出现的。

当尝试在IntelliJ中本地运行Cucumber测试方案时,我得到以下信息:

No tests were found

以及以下警告和错误:

Aug 28, 2019 10:02:00 AM cucumber.api.cli.Main run
WARNING: You are using deprecated Main class. Please use  io.cucumber.core.api.cli.Main
Aug 28, 2019 10:02:02 AM cucumber.runtime.Runtime run
SEVERE: Exception while executing pickle
java.util.concurrent.ExecutionException:  
java.lang.IncompatibleClassChangeError: Found interface cucumber.api.TestCase, but class was expected 
    at cucumber.runtime.Runtime.run(Runtime.java:114)
    at io.cucumber.core.cli.Main.run(Main.java:43)
    at cucumber.api.cli.Main.run(Main.java:28)
    at cucumber.api.cli.Main.main(Main.java:15)

仅当我尝试直接/手动运行测试方案时,这种情况才会发生。即,右键单击该方案,然后选择“运行”或“调试”。如果我运行CucumberTest.java文件,它将起作用。

我已清除缓存并重新启动,没有任何更改。我还更改了CucumberTest类中的导入:

//import cucumber.api.CucumberOptions;
import io.cucumber.junit.CucumberOptions;
//import cucumber.api.junit.Cucumber;
import io.cucumber.junit.Cucumber;

有什么想法吗?我意识到该错误消息意味着从编译时到运行时已经发生了某些变化,并且似乎是cumcuum.api.TestCase从类转到了and接口。但是我对此一无所知,也找不到这明显发生的地方。

1 个答案:

答案 0 :(得分:0)

在Windows上使用IntelliJ,Java和Cucumber,我遇到了类似的问题。 JetBrains上有一个错误报告,建议通过将Shorten command line选项设置为JAR manifest的同时运行测试来解决此问题。这对我有用!

https://youtrack.jetbrains.com/issue/IDEA-220676