Thursday, July 3, 2014

Test Coverange

ついでにカバレッジを出力できるようにしたよ.

grunt-template-jasmine-istanbul

さっきまででテストを実行する環境は構築終わっているのでここは楽だった.
grunt-template-jasmine-istanbulを使う. 使用例を見たところgrunt-template-jasmine-requirejsとの併用例があるのでそれを丸ごと持ってくればおけぃ.
istanbulテンプレートでrequirejsテンプレートをラップするように設定する.
        jasmine: {
            all: {
                src: '.tmp/scripts/{,*/}*.js',
                options: {
                    keepRunner: true,
                    specs: '.tmp/spec/*.js',
                    template: require('grunt-template-jasmine-istanbul'),
                    templateOptions: {
                        coverage: 'test/coverage.json',
                        report: 'test',
                        template: require('grunt-template-jasmine-requirejs'),
                        templateOptions: {
                            # (省略) #
                    },
                    vendor: [
                            "bower_components/jquery/dist/jquery.js",
                            "bower_components/jasmine-jquery/lib/jasmine-jquery.js"
                    ]
                }
            }
        },
一応オプションの意味.
  • coverage … coverage.jsonの保存パス.
  • report … htmlテストレポートの出力ディレクトリ.

テストレポート

./test/index.htmlを開くとレポートが表示される.











coverage.jsonのほうは詳細なテスト実行結果を持っているみたい. CIサーバーで成果物として保存すれば、うまく見せたりできるかも. covertua形式もサポートしているとか書いてあるのはまさにそのためかな.
Written with StackEdit.

No comments:

Post a Comment