2017-01-03 94 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正常工作(我剛剛意識到我忘了提及) –