2017-06-08 14 views
0

私は.jarファイルとしてエクスポートしているEclipse IDEとMaven BuildでCucumberプロジェクトを作成しました。だから私はmainメソッドを宣言しており、私はcucumber.api.cli.Mainでフィーチャーファイルを呼び出しています。キュウリプロジェクトをJavaアプリケーションとして実行することができません

下図のように私の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ファイルを実行するには、それはmain方法に入るが、それはしていませんフィーチャーファイルを実行してください。

変更を行う必要があることをお知らせください。

答えて

0

ランナークラスと同じパッケージまたはサブパッケージにフィーチャーファイルを配置します。ステップを同じパッケージ構造に配置します。これにより、構成を簡素化できます。

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

関連する問題