1
Jestjsでより多くのデータ駆動型テストを書く方法はありますか?データ駆動型Jestjsテスト
私はこのような何かを思い付いた:
it('assignments and declarations',() => {
testCases.forEach(function (testCase) {
const slx = fs.readFileSync(testDirectory + 'slx/' + testCase.slx, 'utf-8');
const document = compiler.parse(slx);
const lmsGenerator = new LMSGenerator(document);
const lms = lmsGenerator.generate();
const expected = fs.readFileSync(testDirectory + 'lms/' + testCase.lms, 'utf-8');
expect(expected).toBe(lms);
});
});
私は、ファイルのうち入力と期待される出力をお読みください。ファイル(および入力と出力の間のリンク)はオブジェクトとともに配列に保存されます。問題は、私が複数のit()関数で持っていた特定のエラーメッセージを失ったことです。
これを行う方法はありますか?あるいは、個々のメッセージを使用して、expected-callが失敗するケースもあります。
私はそれを試して「あなたのテストスイートに少なくとも1つのテストが含まれている必要があります。私がtestCases.forEachコールを "偽の"ブロックでカプセル化しているとき、innerブロックはカプセル化されたブロックにエラーを報告することはありません。 – FDeitelhoff
ここにはjasmineを使った例があります:https://jsfiddle.net/3VuGs/402/。冗談はジャスミンを使用し、私はテストの冗談テストスイートでも同じことをしましたが、なぜあなたのためにうまくいかないのか分かりません。 jestがテストを開始するかどうかを確認するために 'it'ブロックの中にログを追加できますか? –
これは興味深いことです。私は私の環境でそれを実行することはできません。しかし、すべてが正しく設定されているかどうかはわかりません。現時点では、WebStormにjest npmモジュールを使用しています。私はpackage.config: "scripts":{ "test": "jest"}の単純なエントリを使ってテストを開始しています。 – FDeitelhoff