Skip to content

Commit ad8e39b

Browse files
committed
Merge pull request react-bootstrap#853 from react-bootstrap/code-coverage
Code coverage
2 parents 2f0befc + 43ea569 commit ad8e39b

File tree

4 files changed

+42
-3
lines changed

4 files changed

+42
-3
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ docs-built/
1212
tmp-bower-repo/
1313
tmp-docs-repo/
1414
.babel-cache/
15+
.coverage/

karma.conf.js

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,24 @@
1-
/* eslint no-var: 0 */
1+
/* eslint no-var: 0, object-shorthand: 0 */
22
require('babel/register');
33

44
var webpackConfig = require('./webpack/test.config.js');
55
var isCI = process.env.CONTINUOUS_INTEGRATION === 'true';
6+
var runCoverage = process.env.COVERAGE === 'true' || isCI;
67
var devBrowser = process.env.PHANTOM ? 'PhantomJS' : 'Chrome';
78

9+
var preprocessors = ['webpack', 'sourcemap'];
10+
var reporters = ['mocha'];
11+
12+
if (runCoverage) {
13+
webpackConfig = require('./webpack/test-coverage.config');
14+
preprocessors.push('coverage');
15+
reporters.push('coverage');
16+
17+
if (isCI) {
18+
reporters.push('coveralls');
19+
}
20+
}
21+
822
module.exports = function (config) {
923
config.set({
1024

@@ -22,7 +36,7 @@ module.exports = function (config) {
2236
],
2337

2438
preprocessors: {
25-
'test/index.js': ['webpack', 'sourcemap']
39+
'test/index.js': preprocessors
2640
},
2741

2842
webpack: webpackConfig,
@@ -31,12 +45,20 @@ module.exports = function (config) {
3145
noInfo: isCI
3246
},
3347

34-
reporters: ['mocha'],
48+
reporters: reporters,
3549

3650
mochaReporter: {
3751
output: 'autowatch'
3852
},
3953

54+
coverageReporter: {
55+
dir: '.coverage',
56+
reporters: [
57+
{ type: 'html' },
58+
{ type: 'lcovonly' }
59+
]
60+
},
61+
4062
port: 9876,
4163

4264
colors: true,

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"scripts": {
1111
"build": "babel-node tools/build-cli.js",
1212
"test-watch": "karma start",
13+
"test-coverage": "npm run build && COVERAGE=true karma start --single-run",
1314
"test": "npm run lint && npm run build && karma start --single-run && _mocha --compilers js:babel-core/register test/server/*Spec.js",
1415
"lint": "eslint ./",
1516
"docs-build": "babel-node tools/build-cli.js --docs-only",
@@ -63,11 +64,14 @@
6364
"glob": "^5.0.10",
6465
"http-proxy": "^1.11.1",
6566
"ip": "^0.3.2",
67+
"isparta-loader": "^0.2.0",
6668
"json-loader": "^0.5.1",
6769
"karma": "~0.12.32",
6870
"karma-chai": "^0.1.0",
6971
"karma-chrome-launcher": "~0.1.2",
7072
"karma-cli": "0.0.4",
73+
"karma-coverage": "^0.4.2",
74+
"karma-coveralls": "^1.1.0",
7175
"karma-firefox-launcher": "~0.1.3",
7276
"karma-mocha": "~0.1.1",
7377
"karma-mocha-reporter": "^1.0.2",

webpack/test-coverage.config.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import _ from 'lodash';
2+
import { jsLoader } from './base.config';
3+
import testConfig from './test.config';
4+
5+
export default _.extend({}, testConfig, {
6+
module: {
7+
loaders: [
8+
{ test: /\.js/, loader: `${jsLoader}!isparta`, exclude: /node_modules|test[\/\\]/ },
9+
{ test: /\.js/, loader: jsLoader, include: /test[\/\\]/ }
10+
]
11+
}
12+
});

0 commit comments

Comments
 (0)