PhantomJS wird nicht erfasst, wenn es über den Build-Server ausgeführt wird
Ich benutze Karma und PhantomJS mit Jasmine, um mein AngularJS zu testen. Wenn ich meinen gulp-Test lokal ausführe, funktioniert er einwandfrei, startet PhantomJS und führt alle meine Tests aus. Wenn die Tests jedoch auf dem Build-Server ausgeführt werden, schlägt der Test mit den folgenden Fehlern fehl:
Bitte beachten Sie, dass ich VSTS verwende und deren integriertes Cloud-Build-System (gehosteter Agent) verwende. Allerdings ist es so ziemlich ein Task-Runner und ich verwende es nur, um beim Einchecken gulp-Tasks (Build, Test usw.) auszuführe
[32m13 07 2016 15:21:32.260:INFO [karma]: [39mKarma v1.1.1 server started at http://localhost:9876/
[32m13 07 2016 15:21:32.262:INFO [launcher]: [39mLaunching browser PhantomJS with unlimited concurrency
[32m13 07 2016 15:21:32.284:INFO [launcher]: [39mStarting browser PhantomJS
[33m13 07 2016 15:22:32.285:WARN [launcher]: [39mPhantomJS have not captured in 60000 ms, killing.
[33m13 07 2016 15:22:34.287:WARN [launcher]: [39mPhantomJS was not killed in 2000 ms, sending SIGKILL.
[33m13 07 2016 15:22:36.288:WARN [launcher]: [39mPhantomJS was not killed by SIGKILL in 2000 ms, continuing.
Meine Karma-Konfiguration lautet:
var configuration = {
basePath: "",
files: listFiles(),
singleRun: true,
autoWatch: false,
//usePolling: true,
//transports: ["xhr-polling", "jsonp-polling"],
frameworks: ["jasmine", "angular-filesort"],
angularFilesort: {
whitelist: [path.join(conf.paths.src, "/**/!(*.html|*.spec|*.mock).js")]
},
ngHtml2JsPreprocessor: {
stripPrefix: "src/",
moduleName: "veriApp"
},
browsers: ["PhantomJS"],
//browsers: ["Chrome"],
plugins: [
"karma-chrome-launcher",
"karma-phantomjs-launcher",
"karma-angular-filesort",
"karma-jasmine",
"karma-ng-html2js-preprocessor"
],
preprocessors: {
"src/**/*.html": ["ng-html2js"]
}
};
Hier sind die relevanten Teile meiner package.json. Beachten Sie, dass eine NPM-Installation durchgeführt wird, bevor der Test ausgeführt wird
"karma": "1.1.1",
"karma-angular-filesort": "1.0.0",
"karma-jasmine": "1.0.2",
"karma-ng-html2js-preprocessor": "1.0.0",
"phantomjs-prebuilt": "2.1.4",
"karma-phantomjs-launcher": "1.0.0",
"karma-chrome-launcher": "1.0.1",
Ich habe versucht, den Rat aus verschiedenen Antworten zu befolgen, aber keine scheint zu funktionieren! Vielleicht fehlt mir etwas?