我是使用命令行界面的新手。所以我只是有一個關於如何使用CLI技術調用黃瓜的runner類的問題。如何從不同的主要方法調用Cucumber runner類
我有一個包含主要方法的Java程序。當測試者通過測試用例的參數時,它將獲取特徵文件。 java程序調用一個定製的API來獲取正確的特徵文件。
接下來,我將不得不調用Cucumber runner類來執行測試用例。我需要傳遞這個特殊的功能文件作爲參數。兩個問題,我們可以從不同的主要方法調用跑步者類。我做了一些研究,但沒有找到具體的答案。 兩個問題,
cucumber.api.cli.Main.main(參數);那麼,我如何指定我的跑步者類的jar位置。
`FeatureFileCreation.main(「xxxxx」); - 獲取正確特徵文件的API String [] arguments = {「 - 」,「」}; cucumber.api.cli.Main.main(arguments);
- 如何指定我的罐子的位置?我怎樣才能通過我的功能文件?'
我應該在runner類中創建一個main方法,像這樣?爲了使用CLI,因爲我需要創建一個可運行的jar。我在跑步課上應該有一個主要的方法。
`
@RunWith(Cucumber.class)
@Cucumber.Options(features="C:/Users/IBM_ADMIN/Desktop/CRAutomation/CR Regression1/src/My.feature",glue={"bell.canada.step.definition"})
public class AutomationRunnerAction {
public void main(){
}
}`
請注意,獲得正確的功能,文件是1個的Java API。我將從一個Java程序的一個主要方法調用該API。帶有步驟定義和方法的runner類是一個diff java程序。
我剛剛提供了我的classpath - 這是我的java程序的src文件和完整的功能文件路徑。但是我收到的錯誤是「您可以使用下面的代碼段實現缺少的步驟:」。但是我在步驟定義文件中有相應的方法。幫助將不勝感激。同時我會檢查其他論壇的問題。只是提供更新! – Mathan
'@RunWith(Cucumber.class) 公共類AutomationRunnerAction { \t公共靜態無效的main(){\t \t} }' – Mathan
如果您正在使用主你不需要任何亞軍。你必須在glue選項中提供classpath。 – Grasshopper