From 02fb2baf62dcf846ec74c853b9b4c29495dd6107 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Thu, 7 Aug 2014 14:58:57 +0200 Subject: [PATCH] Added code coverage, and sending reports to coveralls --- .gitignore | 1 + .travis.yml | 4 +++- package.json | 5 ++++- src/test/karma.conf.js | 17 +++++++++-------- src/test/test-main.js | 2 +- tasks/options/karma.js | 14 +++++++++++--- 6 files changed, 29 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 9d0b5d840bb..90bfb2a52f6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ node_modules +coverage/ .aws-config.json dist diff --git a/.travis.yml b/.travis.yml index 0ce3be24b19..cde245b0f6c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,4 +2,6 @@ language: node_js node_js: - "0.10" before_script: - - npm install -g grunt-cli \ No newline at end of file + - npm install -g grunt-cli +after_script: + - npm run coveralls diff --git a/package.json b/package.json index c554d26dbfe..e95428e903e 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,8 @@ "karma": "~0.12.16", "karma-chrome-launcher": "~0.1.4", "karma-coffee-preprocessor": "~0.1.2", + "karma-coverage": "^0.2.5", + "karma-coveralls": "^0.1.4", "karma-expect": "~1.1.0", "karma-firefox-launcher": "~0.1.3", "karma-html2js-preprocessor": "~0.1.0", @@ -54,7 +56,8 @@ "npm": "1.2.x" }, "scripts": { - "test": "grunt test" + "test": "grunt test", + "coveralls": "grunt karma:coveralls && rm -rf ./coverage" }, "license": "Apache License", "dependencies": { diff --git a/src/test/karma.conf.js b/src/test/karma.conf.js index 2a3868c2011..fe1206a02c4 100644 --- a/src/test/karma.conf.js +++ b/src/test/karma.conf.js @@ -2,17 +2,17 @@ module.exports = function(config) { 'use strict'; config.set({ - basePath: '../', + basePath: '../../', frameworks: ['mocha', 'requirejs', 'expect', 'sinon'], // list of files / patterns to load in the browser files: [ - 'test/test-main.js', - {pattern: 'app/**/*.js', included: false}, - {pattern: 'vendor/**/*.js', included: false}, - {pattern: 'test/**/*.js', included: false}, - {pattern: '**/*.js', included: false} + 'src/test/test-main.js', + {pattern: 'src/app/**/*.js', included: false}, + {pattern: 'src/vendor/**/*.js', included: false}, + {pattern: 'src/test/**/*.js', included: false}, + {pattern: 'src/**/*.js', included: false} ], // list of files to exclude @@ -23,8 +23,9 @@ module.exports = function(config) { colors: true, logLevel: config.LOG_INFO, autoWatch: true, - browsers: ['Chrome'], + browsers: ['PhantomJS'], captureTimeout: 60000, - singleRun: false, + singleRun: true, + }); }; diff --git a/src/test/test-main.js b/src/test/test-main.js index de26603f6f0..b0ea2988bcd 100644 --- a/src/test/test-main.js +++ b/src/test/test-main.js @@ -1,5 +1,5 @@ require.config({ - baseUrl: 'http://localhost:9876/base/app', + baseUrl: 'http://localhost:9876/base/src/app', paths: { specs: '../test/specs', diff --git a/tasks/options/karma.js b/tasks/options/karma.js index 03acba59720..0318741a329 100644 --- a/tasks/options/karma.js +++ b/tasks/options/karma.js @@ -3,7 +3,6 @@ module.exports = function(config) { dev: { configFile: 'src/test/karma.conf.js', singleRun: false, - browsers: ['PhantomJS'] }, debug: { configFile: 'src/test/karma.conf.js', @@ -12,8 +11,17 @@ module.exports = function(config) { }, test: { configFile: 'src/test/karma.conf.js', - singleRun: true, - browsers: ['PhantomJS'] + }, + coveralls: { + configFile: 'src/test/karma.conf.js', + reporters: ['dots','coverage','coveralls'], + preprocessors: { + 'src/app/**/*.js': ['coverage'] + }, + coverageReporter: { + type: 'lcov', + dir: 'coverage/' + } } }; };