日々精進

新しく学んだことを書き留めていきます

karma-jasmine-jqueryを使ってfixtureを別ファイルから読み込む

テストコードとテストデータを分離するためにjasmine-jqueryを導入した。手順は以下。

・installする

npm install karma-jasmine-jquery --save-dev

・karma.conf.js に以下を追加

module.exports = function(config) {
  config.set({
    frameworks: ['jasmine-jquery','jasmine']
    files: [
      {pattern: 'target/test/fixtures/**', watched: true, served: true, included: false}
    ],
   })
}

・テストコードで以下を実行

jasmine.getFixtures().fixturesPath = 'base/target/test/fixtures/';

このfixturesPathをどう設定すればいいかよくわからず困ったが、baseを先頭に付けると、karmaのbasePathからの相対パスになる。 今のところfixturesPathの設定はSpecファイル毎にやらないとだめっぽいので一箇所だけで設定すればいいようにしたい。

・fixtureを読み込むコード

readFixtures("testdata.json")

loadFixturesというメソッドもあるがこちらはHTMLを読み込んでDOMに追加するメソッドっぽい。Stringが欲しいならreadFixturesを使う。

参考: