【发布时间】:2017-03-26 17:45:42
【问题描述】:
我正在学习如何使用 Angular 2 设置 Karma 并遇到问题。
我遵循 Julie 在她的 seed project 中所做的并将其应用到我的项目中。
在 Chrome 中一切正常,但是当我想使用 PhantomJS 时出现错误。这也发生在 PhantomJS2...
这是错误:
[karma]: Karma v0.13.22 server started at http://localhost:9877/
[launcher]: Starting browser PhantomJS2
[PhantomJS 2.0.0 (Mac OS X 0.0.0)]: Connected on socket /#1yDrSei5NUX4_WYaAAAA with id 93476222
Missing error handler on `socket`.
TypeError: (msg || "").replace is not a function
at node_modules/karma/lib/reporter.js:45:23
karma.config.js
module.exports = function (config) {
config.set({
basePath : '',
frameworks : ['jasmine'],
files : [
// paths loaded by Karma
{pattern : 'node_modules/systemjs/dist/system-polyfills.js', included : true, watched : true},
{pattern : 'node_modules/systemjs/dist/system.src.js', included : true, watched : true},
{pattern : 'node_modules/es6-shim/es6-shim.js', included : true, watched : true},
{pattern : 'node_modules/angular2/bundles/angular2-polyfills.js', included : true, watched : true},
{pattern : 'node_modules/rxjs/bundles/Rx.js', included : true, watched : true},
{pattern : 'node_modules/angular2/bundles/angular2.js', included : true, watched : true},
{pattern : 'node_modules/angular2/bundles/testing.dev.js', included : true, watched : true},
{pattern : 'karma-test-shim.js', included : true, watched : true},
{pattern : 'app/**/*.js', included : false, watched : true},
{pattern : 'app/**/*.html', included : false, watched : true},
{pattern : 'app/**/*.css', included : false, watched : true},
{pattern : 'test/**/*.ts', included : false, watched : false},
{pattern : 'test/**/*.js', included : false, watched : true},
{pattern : 'test/**/*.js.map', included : false, watched : false}
],
proxies : {
"/app/" : "/base/src/app/"
},
reporters : ['progress'],
port : 9876,
colors : true,
logLevel : config.LOG_INFO,
autoWatch : false,
browsers : ['PhantomJS2'],
singleRun : true
})}
有人知道我做错了什么吗? 提前致谢
【问题讨论】:
-
感谢 alecxe,但我的 rx 是正确的 Rx,我尝试更改 shim 中的导入。
-
感谢 Eric,我还尝试添加 runtime-traceur 并在 inteliJ 之外运行,但结果相同。
-
你尝试过包含像 webpack 这样的打包工具吗?一周前我在工作中遇到了这个问题,我认为这解决了它。不过不确定。所以安装 karma-webpack 并像这样包含: preprocessors: { "Tests/**/*.js": ['webpack'] },
标签: phantomjs angular karma-runner karma-jasmine