Angular 2,Karma和PhantomJS

Thi*_*ibs 7 phantomjs karma-runner karma-jasmine angular

我正在学习如何使用Angular 2设置Karma并遇到问题.

我按照朱莉在她的种子项目中所做的并将其应用到我的项目中.

一切都适用于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
Run Code Online (Sandbox Code Playgroud)

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
})}
Run Code Online (Sandbox Code Playgroud)

谁知道我做错了什么?提前致谢

dan*_*y74 0

确保此行位于您的 karma.conf.js 中

{pattern: 'node_modules/systemjs/dist/system-polyfills.js', included: false, watched: false}, // PhantomJS2 (and possibly others) might require it
Run Code Online (Sandbox Code Playgroud)

这个 github 项目与 phantom 一起工作:

https://github.com/danday74/angular2-coverage/blob/master/karma.conf.js

克隆它并玩一玩