IntelliJ cucumber-jvm插件不运行测试

时间:2013-11-20 08:30:06

标签: intellij-idea cucumber cucumber-jvm

运行.feature文件会出现以下错误:

  " >....< cucumber.cli.Main --format org.jetbrains.plugins.cucumber.java.run.CucumberJvmSMFormatter --monochrome --glue C:/projects/selenium-parent/selenium/src/test/resources/InformationPage.feature
Testing started at 09:20 ...


    Exception in thread "main" java.lang.reflect.UndeclaredThrowableException
        at com.sun.proxy.$Proxy13.feature(Unknown Source)
        at cucumber.runtime.model.CucumberFeature.run(CucumberFeature.java:108)
        at cucumber.runtime.Runtime.run(Runtime.java:94)
        at cucumber.runtime.Runtime.run(Runtime.java:82)
        at cucumber.cli.Main.run(Main.java:20)
        at cucumber.cli.Main.main(Main.java:12)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
    Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at cucumber.runtime.RuntimeOptions$1.invoke(RuntimeOptions.java:94)
        ... 11 more
    Caused by: java.lang.NoSuchMethodError: gherkin.formatter.model.Feature.getLine()Ljava/lang/Integer;
        at org.jetbrains.plugins.cucumber.java.run.CucumberJvmSMFormatter.feature(CucumberJvmSMFormatter.java:89)
        ... 16 more

    Process finished with exit code 1
    Empty test suite.

如果我通过JUnit测试调用它,则功能文件可以正常工作。那么为什么报告空测试套件?

Feature: Information Page

Scenario: Has expected components
    Given I navigate to the information page
    Then I should see the table component

2 个答案:

答案 0 :(得分:2)

这是因为我没有安装最新的cucumber-jvm插件。

答案 1 :(得分:0)

我有

Caused by: java.lang.ClassNotFoundException: org.jetbrains.plugins.cucumber.java.run.CucumberJvm3SMFormatter

我在pom中需要这个

<dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>1.2.2</version>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>1.2.2</version>
    </dependency>

,并已安装用于Java的黄瓜插件