【问题标题】:Unable to run the cucumber project as java application无法将黄瓜项目作为 java 应用程序运行
【发布时间】:2017-11-09 15:27:31
【问题描述】:

我在 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 方法,因为我能够创建文件,但它不运行 功能文件。

请告诉我需要进行哪些更改。

【问题讨论】:

    标签: java eclipse maven selenium cucumber


    【解决方案1】:

    将您的功能文件与您的运行器类放在同一个包或子包中。将您的步骤放在相同的包结构中。这将允许您简化配置:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      • 2023-03-05
      • 2014-06-21
      • 1970-01-01
      • 2017-04-20
      相关资源
      最近更新 更多