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



IntelliJ
Java
Cucumber

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

尝试在 IntelliJ 中本地运行黄瓜测试场景时,我得到以下结果:

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;

有什么想法吗?我意识到错误消息意味着从编译时到运行时发生了一些变化,并且似乎是cucumber.api.TestCase从类到接口。但我无法理解它,也找不到这显然发生在哪里。

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

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

最新更新