11

我在本地的以下位置有黄瓜功能文件:

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

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

4

2 回答 2

15

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 来定义所有的 deps;运行测试很简单:

mvn verify
于 2015-06-03T13:03:51.270 回答
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

于 2016-07-25T11:09:20.800 回答