我正在尝试使用Eclipse建立一个非常简单的Cucumber测试环境。我正在学习一个教程并使用所需的参考库创建项目:
我创建了CucumberRunner.java文件,其中包含以下内容:
package cucumber;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(
plugin = { "pretty", "json:target/cucumber.json" },
features = "src/cucumber"
)
public class CucumberRunner {
}
还可以创建要素文件和步骤定义。如果我运行from,功能文件,测试运行正常。但是,如果我从CucumberRunner.java运行,我得到:
java.lang.NoClassDefFoundError: org/xmlpull/v1/XmlPullParserException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetPublicMethods(Class.java:2902)
at java.lang.Class.getMethods(Class.java:1615)
at cucumber.runtime.java.MethodScanner.scan(MethodScanner.java:40)
at cucumber.runtime.java.JavaBackend.loadGlue(JavaBackend.java:86)
at cucumber.runtime.Runtime.<init>(Runtime.java:92)
at cucumber.runtime.Runtime.<init>(Runtime.java:70)
at cucumber.runtime.Runtime.<init>(Runtime.java:66)
at cucumber.api.junit.Cucumber.createRuntime(Cucumber.java:80)
at cucumber.api.junit.Cucumber.<init>(Cucumber.java:59)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
我按照另一个回答的问题安装了Cucumber Eclipse插件,所以我完全不知道为什么会发生这种情况。如果我尝试添加JAR以包含缺少的库,我似乎只是将问题转移到缺少库的区别。
我认为必须使用我正在使用的库的版本,但我是一个完整的新手并且没有如何解决这个问题的经验。
任何帮助都会非常感激。
答案 0 :(得分:1)
就我而言,我必须将 glue =&#34; cucumber.steps&#34; 添加到CucumberOptions列表中。
答案 1 :(得分:0)
根据Sid上面的评论,重命名黄瓜类修复了这个问题。