我的黄瓜功能文件位于我当地的下方位置:
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
请帮我从命令行运行此功能文件。提前谢谢。
答案 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