从Java中的另一个类启动Cucumber runner类

从Java中的另一个类启动Cucumber runner类,java,cucumber,Java,Cucumber,目前,我正在尝试将cucumber测试与selenium和Java结合起来 现在我的问题是: 可以从另一个类启动RunCumber类吗 到目前为止,我编写这个类是为了从Eclipse开始: @RunWith(Cucumber.class) @CucumberOptions( plugin = {"pretty","json:target/json/jsonoutPretty.json"}, features={"src/main/resources/FeatureFiles"},

目前,我正在尝试将cucumber测试与selenium和Java结合起来

现在我的问题是:

可以从另一个类启动RunCumber类吗

到目前为止,我编写这个类是为了从Eclipse开始:

@RunWith(Cucumber.class)
@CucumberOptions(
    plugin = {"pretty","json:target/json/jsonoutPretty.json"},
    features={"src/main/resources/FeatureFiles"},

)
public class RunCucumber{

}
现在我想从另一个类开始这个RunCumber类。 大概是这样的:

public class startTests {

    public void startRunCucumber(){

        run(RunCucumber.class);
    }

}
有没有可能做到这一点


谢谢

这是可能的。您可以运行命令行版本Cucumber使用的main方法


从类中调用
cucumber.api.cli.Main.Main()

为什么要这样做?例如,生成的JSON文件仅在类运行时的最开始和最末尾可用,这是由cumber选项引起的。在运行时,JSON文件为空。因此,不可能在一次运行中运行所有测试并上载JSON报告(例如,到REST服务)。所以我试图在Cucumber类运行之前上传JSON结果。因此,我创建了另一个类,该类应该上载JSON文件,然后运行cucumber测试。
没有功能目录或功能文件的路径。
0场景
0步骤
0M0000s
感谢您的帮助!如果我尝试调用它,它将不再找到我的功能文件。。有解决方案吗?是的,将参数中的路径设置为调用。我手头没有任何例子,但请看一看,尤其是第61-63行。在传递给main()方法的数组中找到需要设置的参数就足够了