私は本質的に、プロトラクター/ジャスミンE2Eテスト用のHTMLレポートに使用していたレポートツールを書き直さなければなりませんでした。今では、1つのテストファイルが実行されているすべてのテスト結果(たとえば、test1.spec.js)をファイルにうまく書き込むことができます。分度器/ジャスミンが完了したときの確認方法は? (レポーティングツールのロジック)
私の問題は、一度に複数のファイルを実行するときに発生します(例:['./test1.spec.js'、 './test2.spec.js'])。理想的には、両方のテストのすべての情報をfileDataオブジェクト/変数に格納し、すべてのテストファイルが完了したらその変数をファイルに書き込むことです。
私はjasmineDone関数で記述しようとしましたが、各テストファイルが完了した後に発生し、レポートからの情報を重複するか、レポートのスタイリングを上書き/上書きします。
this.jasmineDone = function() {
fileData += styles.closeReportTags;
fileData += styles.closeBodyHtmlTag;
fs.appendFileSync("C:/Reports/testing1.html", fileData);
}
は、私も自分の分度器の設定ファイルで定義されてafterLaunch方法を作成し、そのようにレポートツールのファイルで使用されている:上記で
this.afterLaunch = function (callback) {
fs.writeFile("C:/Reports/testing1.html", fileData);
}
を私はにすべてのテスト結果を追加してみました各実行中にfileData変数を読み込み、それが完了した後にすべてを書き戻しますが、fileDataはafterLaunchメソッドに正しく渡されないようです(ファイルに何も書き込まれず、空白のhtmlファイルが作成されます)。
私の質問は、実行中のカウントまたはフラグを保持して、実際のテスト実行がいつ実行されているか把握するために、より多くのテストファイルが分度器/ジャスミンのキューに入っているかどうかを判断できるようにすることです。私のファイルを書き込むためにそれをどの範囲で使うことができますか?
ありがとうございました。
私が実際にそのうちに何かを考え出し、私の現在のソリューションで働いていたが、私はまだあなたの方法に見ていることを計画!応答を感謝します。これは大きな頭痛ハハです。 –
心配はいりません。ええ、これは痛みです... – Brine