如何在命令行中运行Cucumber文件

12

我在本地有一个黄瓜特性文件,位于以下位置:

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

第二条指令:

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

请问您可以帮我通过命令行运行这个特性文件吗?先谢谢了。


团队您好,有什么建议吗?我还没有收到任何回复。谢谢! - Durgesh
2个回答

15

JUnit方法

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

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

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

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定义所有依赖项;然后运行测试就像这样简单:

mvn verify

感谢提供详细信息,您能否请澄清如何使用gradle?gradle正在取代maven,将其包含在答案中会很好。谢谢,Vikram。 - vikramvi
你好,不使用Maven,直接从命令行中使用cucumber.options怎么样?你知道如何使用吗? - neshkeev

0

使用Java编写Cucumber:

运行特性文件: 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


这里的features是特性文件目录,而step_definition是步骤定义文件目录。 - Sathya Kanuri
如何使用多个标签选项指定多个标签? - user578219

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接