外部ソース(CSV、DB など)からのテストデータは、設定ファイルを使用して 1 つまたは複数のテストに渡し、設定ファイルを使用するフラグを追加して CLI でテストを実行できます。外部テストデータを設定ファイルに追加するには:
- 設定ファイルを作成するか、既存のファイルを編集します。
- この機能を使用するために
csvtojsonnpm パッケージをインストールします。詳細は https://www.npmjs.com/package/csvtojson を参照してください。次のように設定ファイルにcsvtojsonの require 文を含める必要があります:const csvtojson = require("csvtojson") - 設定ファイルの冒頭に、外部ソースから JSON オブジェクトにデータをロードする JavaScript 関数を追加します(
loadCsvFile(path))。
// CSVからJsonオブジェクトにデータをロードするJS関数const csvtojson = require('csvtojson');function loadCsvFile(path) { return new Promise((resolve) => { return csvtojson() .fromFile(path) .then(resolve, (err) => { console.error('failed to read csv file', err.message); resolve([]); }); });}- 以下のように、
beforeSuite内でoverrideTestDataを使用してテスト名とそのデータセットを渡します。
beforeSuite: function () { return Promise.all([loadCsvFile('./data.csv'), loadCsvFile('./data2.csv'), loadCsvFile('./data3.csv')]) .then(([jsonObj, jsonObj2, jsonObj3]) => { return { BEFORE_SUITE: "BEFORE_SUITE", overrideTestData: { "Test 3": jsonObj, "Test 4": jsonObj2, "Test 5": jsonObj3, // 静的なデータセットをテストに渡すこともできます "Test 6": {name: "ryan"} } } });} //beforeSuiteの後に他の関数がある場合は、ここにカンマを追加します