如何从命令行运行黄瓜文件

时间:2015-06-02 03:43:25

标签: java cucumber-jvm cucumber-junit

我的黄瓜功能文件位于我当地的下方位置:

C:\ProjectWork\Workspace\Cucumber\DIT_Cucumber\src\cucumber\featureOne.feature

和Junit jar位于以下位置:

C:\DurgeshProjectWork\Workspace\JarFiles\junit-4.11.jar

当我尝试使用以下几个命令从命令提示符执行功能文件时,但总是得到与

相同的错误
Could not fine class

以下是我使用的命令: 命令1:

C:\>java -cp C:\ProjectWork\Workspace\JarFiles\junit-4.11.jar org.junit.runner.JUnitCore C:\DurgeshProjectWork\Workspace\Cucumbe
r\DIT_Cucumber\bin\cucumber\featureOne.feature

命令2:

C:\ProjectWork\Workspace\Cucumber\DIT_Cucumber\src\cucumber>java -cp C:\ProjectWork\Workspace\JarFiles\junit-4.11.jar org
.junit.runner.JUnitCore featureOne.feature

请帮我从命令行运行此功能文件。提前谢谢。

2 个答案:

答案 0 :(得分:13)

JUnit方法

如果使用JUnit,您可以像在命令行上运行JUnit测试一样运行测试:

java -cp <classpath> org.junit.runner.JUnitCore com.example.test.RunCukesTest

其中RunCukesTest是设置所有黄瓜选项的单元测试,例如:

package com.example.test;

import org.junit.runner.RunWith;

import cucumber.api.junit.Cucumber;
import cucumber.api.CucumberOptions;

@RunWith(Cucumber.class)
@CucumberOptions(plugin = "json:target/report.json")
public class RunCukesTest {
}

Cucumber-jvm方法

您还可以在命令行中使用cucumber-jvm:

java -cp <classpath> cucumber.api.cli.Main \
   --glue com.example.test \
   --plugin pretty path/to/features

<强>的Maven

以前两种情况的挑战是构建类路径并确保正确加载所有依赖项,包括您自己的类和功能文件。更简单的解决方案是使用例如Maven to define all the deps;然后运行测试就像这样简单:

mvn verify

答案 1 :(得分:0)

黄瓜与Java:

运行功能: java -cp "jars/*" cucumber.api.cli.Main -p pretty features

编译步骤定义文件: javac -cp "jars/*" step_definition/StepDef.java

运行场景: java -cp "jars/*;." cucumber.api.cli.Main -p pretty -g step_definition features