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

Dur*_*esh 10 java cucumber-jvm cucumber-junit

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

C:\ProjectWork\Workspace\Cucumber\DIT_Cucumber\src\cucumber\featureOne.feature
Run Code Online (Sandbox Code Playgroud)

和Junit jar位于以下位置:

C:\DurgeshProjectWork\Workspace\JarFiles\junit-4.11.jar
Run Code Online (Sandbox Code Playgroud)

当我尝试了下面的几个命令从命令提示符执行功能文件时,但总是得到相同的错误

Could not fine class
Run Code Online (Sandbox Code Playgroud)

以下是我使用的命令:命令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
Run Code Online (Sandbox Code Playgroud)

命令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
Run Code Online (Sandbox Code Playgroud)

你能帮我从命令行运行这个功能文件吗?提前致谢.

Séb*_*nec 14

JUnit方法

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

java -cp <classpath> org.junit.runner.JUnitCore com.example.test.RunCukesTest
Run Code Online (Sandbox Code Playgroud)

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 {
}
Run Code Online (Sandbox Code Playgroud)

Cucumber-jvm方法

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

java -cp <classpath> cucumber.api.cli.Main \
   --glue com.example.test \
   --plugin pretty path/to/features
Run Code Online (Sandbox Code Playgroud)

Maven的

前两种情况的挑战是构建类路径并确保正确加载所有依赖项,包括您自己的类和功能文件.一个更简单的解决方案是使用例如Maven来定义所有deps ; 运行测试就像下面这样简单:

mvn verify
Run Code Online (Sandbox Code Playgroud)