Gherkinは、自動化テストを実行するためにCucumberを理解できる平易な英語フォーマットです。 Gherkin機能ファイル言語は、ビジネスで読み取り可能なドメイン固有の言語です。
このコードは、Gherkin機能ファイルをJSON Formatterフレームワークに基づくJSON形式に変換するためのものです。
ガーキンからJSONパーサーへ
// Gherkinの機能ファイルをJSONに変換したメインクラス
パブリッククラスGToJRun {
//ここで、Gherkinのパスをフィーチャーファイルに、JSONのファイルパスをに設定します。
// JSONフォーマットに書き込みます
private static String featurePath =“ c:\ Json \ login.feature”;
プライベート静的文字列jasonPath =“ c:\ Json \ login.json”;
// JSON出力用にきれいで見苦しいフォーマットに設定する。 デフォルトでは可愛い
static GtoJCore testG = new GtoJCore(“ pretty”);
public static void main(String [] args){
testG.gherkinTojson(featurePath、jasonPath);
}
}
コアクラスはJSONフォーマッタフレームワークに基づいています。 より大きな機能ファイルの合計処理時間を確認したい場合は、変換時間を取得できます。
ガーキンからJSONパーサーコアへ
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import gherkin.formatter.JSONFormatter;
import gherkin.formatter.JSONPrettyFormatter;
import gherkin.parser.Parser;
import gherkin.util.FixJava;
// Gherkin to Jsonパーサーコアファイル。
パブリッククラスGtoJCore {
プライベート文字列フォーマット。
//合計実行時間を取得する(オプション)
long startTime = System.currentTimeMillis();
public GtoJCore(String outFormat){
this.format = outFormat;
}
public String getOutFormat(){
戻り形式
}
public void gherkinTojson(String fPath、String jPath){
//機能ファイルとJSONファイルのパスを定義します。
文字列gherkin = null。
試してください{
gherkin = FixJava.readReader(new InputStreamReader(
new FileInputStream(fPath)、“ UTF-8”));
catch(FileNotFoundException e){
System.out.println(“機能ファイルが見つかりません”);
// e.printStackTrace();
catch(UnsupportedEncodingException e){
e.printStackTrace();
catch(RuntimeException e){
e.printStackTrace();
}
StringBuilder json = new StringBuilder();
JSONFormatterフォーマッター。
//きれいか醜い選択、デフォルトできれい
if(format.equalsIgnoreCase(“ ugly”)){
formatter = new JSONFormatter(json); //きれいではありません
その他{
formatter = new JSONPrettyFormatter(json); // pretty
}
Parser parser = new Parser(フォーマッタ);
parser.parse(gherkin、fPath、0);
formatter.done();
formatter.close();
System.out.println(“ json出力:n” + json +“ '”);
//最後にフラッシュして閉じる
試してください{
FileWriter file = new FileWriter(jPath);
file.write(json.toString());
file.flush();
file.close();
catch(IOException e){
e.printStackTrace();
}
long endTime = System.currentTimeMillis();
//オプション
System.out.println(“ n総実行時間:” +(endTime - startTime)
+ "ミリ秒");
}
}
これにより、メインクラスから選択できる、可憐または見苦しいJSON形式が得られます。 あなたはきれいまたは醜い出力フォーマットを選択するオプションで読むために機能ファイルと書くためにJSONファイルの両方のファイルパスを定義することができます。