2016-04-06 9 views
7

Ich lerne, wie man mit Angular 2 Karma einrichtet und Probleme aufspürt.Angular 2, Karma und PhantomJS

Ich folgte, was Julie in ihrem seed project tat und wandte es an mein Projekt an.

Alles funktioniert gut in Chrome, aber wenn ich PhantomJS verwenden möchte, erhalte ich einen Fehler. Dies geschieht auch in PhantomJS2 ...

Dies ist der Fehler:

[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 
})} 

Wer weiß, was ich falsch mache? Vielen Dank im Voraus

+0

Hilft das? http://StackOverflow.com/a/36133360/771848 – alecxe

+0

Danke Alecxe, aber meine RX ist richtiger Fall Rx und ich versuchte, den Import in die Unterlegscheibe zu ändern. – Thibs

+0

Siehe https://github.com/karma-runner/karma/issues/1969 –

Antwort