我正在使用karma,browserify和babelify来运行角度2的单位测试。 每当我运行它时都会失败并出现像这样的错误
25 05 2017 11:35:22.974:WARN [web-server]: 404: /C://Users//me//git//proj-ng//modules//pack\\src//test.service.spec.js
Firefox 53.0.0 (Windows 7 0.0.0) ERROR
(SystemJS) XHR error (404 Not Found) loading http://localhost:9876/C:\\Users\\me\\git\\proj-ng\\modules\\pack\\src\\test.s
ervice.spec.js
wrapFn@C:/Users/me/git/proj-ng/modules/pack/node_modules/zone.js/dist/zone.js:1055:30
ZoneDelegate.prototype.invokeTask@C:/Users/me/git/proj-ng/modules/pack/node_modules/zone.js/dist/zone.js:424:17
Zone.prototype.runTask@C:/Users/me/git/proj-ng/modules/pack/node_modules/zone.js/dist/zone.js:191:28
ZoneTask/this.invoke@C:/Users/me/git/proj-ng/modules/pack/node_modules/zone.js/dist/zone.js:486:28
Error loading http://localhost:9876/C:\\Users\\me\\git\\proj-ng\\modules\\pack\\src\\test.service.spec.js as "C:\\Users\\me\\git\\proj-ng\\modules\\pack\\src\\test.service.spec.js" from http://localhost:9876/src/test.service.spec.js
我已经检查过测试文件位于它抱怨的位置。我已经尝试了很多变化,现在已经出了什么可能是错误的。
下面是我的karma.conf.js。
(function () {
"use strict";
module.exports = function (config) {
config.set({
basePath: "",
frameworks: ["browserify","jasmine"],
browsers: ["Firefox"],
reporters: ["mocha", "coverage"],
// Source files that you wanna generate coverage for.
preprocessors: {"src/**/!(*spec).js": ["coverage", "sourcemap"], "src/**/*.js": ["browserify"]},
// "src/**/!(*spec).js": ["browserify"]},
browserify: {
debug: true,
transform: [ "babelify" ]
},
coverageReporter: {
dir: "code-coverage/",
reporters: [
{type: "text-summary"},
{type: "json"},
{type: "html"}
]
},
files: [
"node_modules/es6-shim/es6-shim.js",
"node_modules/reflect-metadata/Reflect.js",
"node_modules/systemjs/dist/system-polyfills.js",
"node_modules/systemjs/dist/system.src.js",
"node_modules/zone.js/dist/zone.js",
"node_modules/zone.js/dist/long-stack-trace-zone.js",
"node_modules/zone.js/dist/async-test.js",
"node_modules/zone.js/dist/fake-async-test.js",
"node_modules/zone.js/dist/sync-test.js",
"node_modules/zone.js/dist/proxy.js",
"node_modules/zone.js/dist/jasmine-patch.js",
{pattern: "node_modules/rxjs/**/*.js", included: false, watched: false},
{pattern: "node_modules/rxjs/**/*.js.map", included: false, watched: false},
{pattern: "node_modules/angular-2-local-storage/**/*.js", included: false, watched: false},
{pattern: "karma-test-shim.js", included: true, watched: true},
{pattern: "node_modules/@angular/**/*.js", included: false, watched: true},
{pattern: "node_modules/@angular/**/*.js.map", included: false, watched: true},
{pattern: "src/**/*.js", included: false, watched: true},
// paths to support debugging with source maps in dev tools
{pattern: "src/**/*.ts", included: false, watched: false},
{pattern: "src/**/*.js.map", included: false, watched: false}
],
proxies: {
// required for component assets fetched by Angular"s compiler
"/src/": "/base/src/"
},
port: 9876,
colors: true,
logLevel: config.LOG_DEBUG,
autoWatch: false,
singleRun: true
});
};
}());
我的gulp测试任务就是
const Server = require("karma").Server;
gulp.task("test", () => {
new Server({
configFile: __dirname + '/karma.conf.js'
}).start();
});