我在Eclipse IDE和Maven Build中创建了一个Cucumber项目,我将其作为.jar
文件导出。所以我已经声明了main
方法,并且我使用cucumber.api.cli.Main
调用了要素文件。
我的main
方法如下所示:
public class NewMain {
public static void main(String[] args) throws Throwable {
// TODO Auto-generated method stub
System.out.println("Before caling PhantomJS");
File f = new File("C:\\Test\\text.txt");
if (f.exists())
f.delete();
f.createNewFile();
Main.main(new String[] { "-g", "com.cucumber.testcases",
"src/test/java/com/cucumber/Features/PolicyFeatures.feature" });
System.out.println("after caling PhantomJS");
}
}
我通过选择所有项目依赖项并提取.jar
文件来创建.jar
文件,我将获取所有jar文件,如下所示:
现在,在运行.jar
文件时,它会输入main
方法,因为我可以创建文件,但不会运行功能文件。
请告诉我需要做哪些更改。
答案 0 :(得分:0)
将您的要素文件放在与跑步者类相同的包或子包中。将步骤放在相同的包结构中。这将允许您简化配置:
Main.main(new String[] { "-g", "com.cucumber.testcases",
"src/test/java/com/cucumber/Features/PolicyFeatures.feature" });
您可以完全删除它。
我将使用的更好的方法是从一个工作示例开始,并将其转换为您想要的。这里有一个工作示例:https://github.com/cucumber/cucumber-java-skeleton
从一个小而实用的例子开始,通常可以轻松地使复杂的示例工作。这是从Gall's law
开始的