【发布时间】:2015-09-03 07:25:33
【问题描述】:
我尝试从我的项目中获得报道。由于我的 IDE (IntelliJ) 我正在使用 Karma 和 mocha。为了让测试在因果报应中运行,我还添加了browserify。但我只是得到了测试的覆盖范围,而不是实际代码:
这是我的karma.conf.js:
"use strict";
module.exports = function(config) {
config.set({
basePath: "",
frameworks: ["mocha", "browserify"],
files: [
"test/**/*Test.js"
],
exclude: [
"src/Main.js"
],
preprocessors: {
"test/**/*Test.js": ["browserify"],
"src/**/*.js": ['coverage']
},
reporters: ["progress", "coverage"],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ["Chrome"],
singleRun: false,
browserify: {
debug: true,
transform: [ "browserify-shim" ]
}
});
};
摘自我的package.json:
{
...
"dependencies": {
"nssocket": "^0.5.3",
"winston": "^1.0.0"
},
"devDependencies": {
"browserify": "^10.2.4",
"browserify-shim": "^3.8.8",
"karma": "^0.12.36",
"karma-browserify": "^4.2.1",
"karma-coverage": "^0.4.2",
"karma-mocha": "^0.1.10",
"mocha": "^2.2.5"
},
"browserify-shim": {}
}
我尝试将所有代码文件添加到 karma.conf.js→files[],但随后我通过 browserify 得到了各种 Uncaught TypeError:
files: ["src/**/*.js", ...
preprocessors: {"src/**/*.js": ["browserify"], ...
更新:
我创建了两个测试文件,但它们没有覆盖范围:
test/TestTest.js
"use strict";
var assert = require("assert");
var test = require('../src/Interface/Test.js');
describe("Test", function () {
describe("Test test, 5", function () {
it("Test true 5", function () {
assert.equal(test.addOneOnTrue(true, 5), 6);
});
it("Test false", function () {
assert.equal(test.addOneOnTrue(false, 5), 5);
});
});
});
src/Test.js
var Test = function() {
this.addOneOnTrue = function (boolean, int) {
if(boolean) {
++int;
}
return int;
}
};
module.exports = new Test();
【问题讨论】:
标签: node.js intellij-idea code-coverage karma-runner browserify