11
10

More than 5 years have passed since last update.

Grunt+jasmine+requirejsでテストする

Last updated at Posted at 2014-06-13

Gruntでjasmineを動かしてrequireJSでモジュール化されたファイルのテストを行うときのメモ。

使用したgruntのプラグイン

grunt-contrib-jasmineはこれ1つでjasmineでテストする環境が整う。PhantomJSとかもバンドルされているので個別にPhantomJSをインストールしなくてもいい。
grunt-template-jasmine-requirejsはgrunt-contrib-jasmineでrequireJSでモジュール化されたファイルをテストするためのテンプレート。

以下はGruntのタスク。

jasmine: {
        // プロパティ名はテストケース名
        sample: {
          // このテストケースでテストするファイルの指定
          // 一気に指定するとエラーが大量に出るのではじめは1ファイルずつのほうがいいかもしれない
          src: 'src/**/*.js',
          options: {
            // テストケース
            specs: 'spec/*Spec.js',
            // ヘルパー
            helpers: 'spec/*Helper.js',
            // SpecRunnerを残すかどうかの設定
               keepRunner: true,
               //テスト結果のxmlの保存場所
               junit: {
                   path: 'jasmine-test'
               },
               //requireJSのためのテンプレート
               template: require('grunt-template-jasmine-requirejs'),
               templateOptions: {
                   //設定が書かれているファイルを指定
                   requireConfigFile: 'src/config.js',
                   //上書きしたいrequirejsの設定があればここに書く
                   requireConfig: {
                     baseUrl: 'src'
                   }
                 }
          }
        }
    }

設定できればJenkinsなんかでテスト結果がみれて便利だと思う。Jenkins使ってなければGruntのwatchタスクでファイルを保存するたびに実行してあげるといいかも。

テストケースはrequirejsを使ってこう書く。

define([必要なモジュールを読み込む], function(必要なモジュール) {

    describe("テストケース", function() {
        it("", function (){
            ・・・
        });

        it("", function (){
            ・・・
        });
    }); 
});

specを書くところですこしはまるかもしれない。

11
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
10