2017-01-28 6 views
4

ich Probleme habe Karma Tests durch Zug läuft.PhantomJS Launcher Fatal Windows-Ausnahme aufgetreten

Ich bin mit der PhantomJS Launcher-Plugin, und wenn es zu starten versucht, ich sehe die folgend:

[09:27:02] Starting 'karma-tests'... 
DEPRECATED: use your own version of lodash, this will go away in [email protected] 
DEPRECATED: use your own version of lodash, this will go away in [email protected] 
28 01 2017 09:27:04.817:INFO [karma]: Karma v1.4.0 server started at http://0.0.0.0:9876/ 
28 01 2017 09:27:04.817:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency 
28 01 2017 09:27:04.817:INFO [launcher]: Starting browser PhantomJS 
28 01 2017 09:27:07.882:INFO [PhantomJS 2.1.1 (Windows 8 0.0.0)]: Connected on socket VwHY_WyYXMEj3RvZAAAA with id 284 
68634 
28 01 2017 09:27:08.436:ERROR [phantomjs.launcher]: Fatal Windows exception, code 0xc0000005. 
PhantomJS has crashed. Please read the bug reporting guide at 
<http://phantomjs.org/bug-reporting.html> and file a bug report. 

28 01 2017 09:27:08.471:ERROR [launcher]: PhantomJS crashed. 

28 01 2017 09:27:08.475:INFO [launcher]: Trying to start PhantomJS again (1/2). 
28 01 2017 09:27:10.457:WARN [PhantomJS 2.1.1 (Windows 8 0.0.0)]: Disconnected (1 times) 
PhantomJS 2.1.1 (Windows 8 0.0.0) ERROR 
    Disconnectedundefined 

[09:27:10] 'karma-tests' errored after 7.9 s 
[09:27:10] Error: 1 
    at formatError (C:\Users\asus\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:169:10) 
    at Gulp.<anonymous> (C:\Users\asus\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:195:15) 
    at emitOne (events.js:101:20) 
    at Gulp.emit (events.js:188:7) 
    at Gulp.Orchestrator._emitTaskDone (C:\Users\asus\Documents\Github\interACT\node_modules\orchestrator\index.js:264 
:8) 
    at C:\Users\asus\Documents\Github\interACT\node_modules\orchestrator\index.js:275:23 
    at finish (C:\Users\asus\Documents\Github\interACT\node_modules\orchestrator\lib\runTask.js:21:8) 
    at cb (C:\Users\asus\Documents\Github\interACT\node_modules\orchestrator\lib\runTask.js:29:3) 
    at removeAllListeners (C:\Users\asus\Documents\Github\interACT\node_modules\karma\lib\server.js:380:7) 
    at Server.<anonymous> (C:\Users\asus\Documents\Github\interACT\node_modules\karma\lib\server.js:391:9) 
    at Server.g (events.js:291:16) 
    at emitNone (events.js:91:20) 
    at Server.emit (events.js:185:7) 
    at emitCloseNT (net.js:1555:8) 
    at _combinedTickCallback (internal/process/next_tick.js:71:11) 
    at process._tickDomainCallback (internal/process/next_tick.js:122:9) 

ich die neuesten Versionen von Karma bin mit und PhantomJS Launcher, mit den folgenden Einträgen in meinem Paket. json:

"karma": "^1.4.0", 
"karma-phantomjs-launcher": "^1.0.2" 

plus ich habe PhantomJS 2.1.1 global

installiert

die Art des Fehlers wird dies von Windows verwandt scheint darauf hinzudeuten, ich bin runn auf einer Windows 10 64 Bit-Plattform.

Das Projekt, das ich tatsächlich auf einigen anderen Maschinen installiert leite, die eine Mischung aus Windows 7, Windows 10 und Linux ist. Ich habe dieses Problem auf der anderen Seite gesehen, 10 Maschinen zu gewinnen, der Rest der Plattformen scheint gut zu sein. Bis vor kurzem (in den letzten paar Wochen) habe ich dieses Problem bei Win 10 nicht gesehen, also frage ich mich, ob eine Art Windows-Update einen unvorhergesehenen Nebeneffekt verursacht hat.

ich zufällig haben die Portnummer in der Datei mein Karma Config ändern und es geschafft, die Tests zu laufen, aber auf einer weiteren laufen sie scheiterte erneut mit dem gleichen Fehler. Das erneute Ändern des Ports machte keinen Unterschied.

Mein Karma Config sieht wie folgt aus:

module.exports = function(config) { 
    config.set({ 
    logLevel : config.LOG_INFO, 
    colors: true, 
    browsers: ['PhantomJS'], 
    singleRun: true, 
    port: 9876, 
    autoWatch: false, 
    basePath: '../', 
    reporters: ['progress', 'coverage'], 

    coverageReporter: { 
     dir : 'test/coverage/', 
     reporters: [{ 
     type: 'lcovonly', 
     subdir: '.', 
     file: 'karma-coverage.dat' 
     }, { 
     type : 'json', 
     subdir: '.', 
     file : 'karma-results.json' 
     }] 
    }, 

    frameworks: ['jasmine'], 
    exclude: ['../dist/client/assets/scripts/angular_app.js'], 
    files: [ 
     'dist/client/assets/scripts/jquery.js', 
     'dist/client/assets/scripts/bootstrap.js', 
     'dist/client/assets/scripts/bower_libs.js', 
     'dist/client/assets/scripts/d3.min.js', 
     'dist/client/assets/scripts/main.js', 
     'test/mocks/mocks.config.js', 
     'test/mocks/**/*.mock.js', 
     'src/client/app/**/*.module.js', 
     'src/client/app/**/!(*spec).js', 
     'src/client/app/**/*.spec.js' 
    ], 

    preprocessors: { 
     'src/client/app/**/!(*spec).js': ['coverage'] 
    } 
    }); 
}; 

Hat jemand heraus begegnet dort dieses Problem und wenn ja, haben Sie eine Lösung finden verwaltet?

Lassen Sie mich wissen, wenn Sie weitere Details benötigen.

Dank

Antwort

4

fand ich eine Lösung am Ende durch die 2.5.0 Beta verwendet, die von here und Ersetzen für die exe in der Phantom Library-Ordner gepackt werden können, die mit dem PhantomJS-Baustein kommen.

für mich So hatte ich hier bleiben:

PROJECT_ROOT\node_modules\phantomjs-prebuilt\lib\phantom\bin 

Dieser den Trick getan hat, nicht mehr tödlich Ausnahmen! Es sieht nicht so aus wie 2.5 wird aber bald veröffentlicht - https://github.com/ariya/phantomjs/milestones

Verwenden Sie auf eigene Gefahr!

+0

Gibt es keine Möglichkeit, diese Version über NPM zu installieren? – danwellman

+1

Nein, es ist noch nicht veröffentlicht, wenn Sie sich den Meilenstein-Link anschauen, den ich in meiner Antwort hinzugefügt habe, also müssen Sie diese Exe im Moment kopieren – mindparse

Verwandte Themen