IncompatibleClassChangeError запуск тестов Cucumber в IntelliJ

когда я запускаю тестовую функцию cucumber в IntelliJ, все, что он показывает, это несовместимость с трассировкой стека:

Testing started at 12:55 ...
/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/bin/java ...
Exception in thread "main" java.lang.IncompatibleClassChangeError: Found interface cucumber.api.TestCase, but class was expected
    at org.jetbrains.plugins.cucumber.java.run.CucumberJvm2SMFormatter.handleTestCaseStarted(CucumberJvm2SMFormatter.java:80)
    at org.jetbrains.plugins.cucumber.java.run.CucumberJvm2SMFormatter.access0(CucumberJvm2SMFormatter.java:17)
    at org.jetbrains.plugins.cucumber.java.run.CucumberJvm2SMFormatter.receive(CucumberJvm2SMFormatter.java:32)
    at org.jetbrains.plugins.cucumber.java.run.CucumberJvm2SMFormatter.receive(CucumberJvm2SMFormatter.java:30)
    at cucumber.runner.EventBus.send(EventBus.java:28)
    at cucumber.runner.TestCase.run(TestCase.java:37)
    at cucumber.runner.Runner.runPickle(Runner.java:44)
    at cucumber.runtime.Runtime.runFeature(Runtime.java:120)
    at cucumber.runtime.Runtime.run(Runtime.java:106)
    at cucumber.api.cli.Main.run(Main.java:35)
    at cucumber.api.cli.Main.main(Main.java:18)

Process finished with exit code 1
Empty test suite.

Это IntelliJ IDEA 2018.1.4 (Ultimate Edition), Build #IU-181.5087.20 С Cucumber for Java version 181.5087.20

2 ответов


плагин не совместим (пока) с cucumber java версии 3 и выше.

вы должны обновить вашу сборку.gradle для явного указания версии 2:

dependencies {
    ...
    testCompile 'io.cucumber:cucumber-java8:2.+'
}

Как поясняется в вопрос #1392

это вызвано CucumberJvm2SMFormatter идеи. Это форматер для Cucumber2, сталкивается с разрывным изменением в огурце 3.

самым простым решением является удаление --plugin org.jetbrains.plugins.cucumber.java.run.CucumberJvm2SMFormatter из аргументов программы в конфигурации запуска.