2017-01-03 92 views
0

我在src/main/java中创建了一个测试文件,其中包含类A的黄瓜注释以及在src/test/java中扩展类A的测试文件,其中包含以下内容B级注释:从应用程序按钮运行黄瓜测试文件

 @ContextConfiguration(locations = {"classpath:META-INF/application-config.xml", "classpath:META-INF/overrule.xml" }) 

这是工作正常,当我做一个maven干净安装。 我想实现的是通过类A的黄瓜设置运行一个功能文件并查看它的输出。到目前为止,我已经设法找到一种方法来让我进行黄瓜测试,但我似乎无法弄清楚它的理由应该是什么。任何人都可以提供一个如何实现函数cucumber.api.cli.Main.run()的例子吗?

 @Override 
     public void buttonClick(final ClickEvent event) { 
      try { 
       final String[] arguments = {"foo", "bar" }; 
       cucumber.api.cli.Main.run(arguments, ClassLoader.getSystemClassLoader()); 
      } catch (final Throwable e) { 
       e.printStackTrace(); 
      } 
     } 

回答

1

我将调用使用cucumber.api.cli.Main.main(args);

其中args是一个字符串数组与设置的参数的命令行版本。我不会使用你引用的运行命令。

documentation描述了所有可用的选项。

另一来源可能是由黄瓜团队提供的入门项目:https://github.com/cucumber/cucumber-java-skeleton

这可能是特别感兴趣的寻找到Ant构建脚本https://github.com/cucumber/cucumber-java-skeleton/blob/master/build.xml,看看他们提供给黄瓜什么的论点。

+0

主要命令运行run命令后跟System.exit(); 由于我需要保持应用程序以后运行,调用main不是一个有效的选项。 我设法得到正确的参数。我正在处理的是让ClassLoader与Spring正常工作(我刚刚意识到我忘了提及) –