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接口。但是我对此一无所知,也找不到这明显发生的地方。
答案 0 :(得分:0)
在Windows上使用IntelliJ,Java和Cucumber,我遇到了类似的问题。 JetBrains上有一个错误报告,建议通过将Shorten command line
选项设置为JAR manifest
的同时运行测试来解决此问题。这对我有用!