2015-07-16 5 views
6

Quando si esegue il karma da un'attività grugnito ottengo il seguente avvertimento:Warning 'L'interfaccia API è cambiato' durante l'esecuzione Karma grugnito

Running "karma:unit" (karma) task 
Warning: The api interface has changed. Please use 
    server = new Server(config, [done]) 
    server.start() 
instead. Use --force to continue. 

Aborted due to warnings. 

Ho testato in esecuzione il karma con la mia configurazione, sia utilizzando il 'run 'e' inizia 'i comandi del karma e sembrano funzionare bene.

L'utilizzo di grunt --force può completare l'attività, ma viene completata con avvisi.

Questo sono le versioni che sono attualmente in uso:

  • Karma 0.13.0
  • Grunt 0.4.5
  • grunt-cli 0.1.13
  • node.js 0.12.7
  • npm 2.11.3

il progetto è stato generato usando Yeoman (1.4.7), ma ho la sam Il problema è usare Karma in un progetto separato con solo gelsomino, karma e Grunt (anche testato con Gulp).

Ho cercato il messaggio di avviso ma non ho trovato nulla. Non so se questo è il comportamento previsto o se esiste un altro modo per completare le attività senza avvisi.

+0

cosa fa il compito grugnito simile? – Phil

risposta

4

Se si utilizza il plugin grunt-karma per iniziare le prove di Karma da Grunt, è necessario aggiornare il grunt-karma dipendenze nel file package.json-0.12.0:

"devDependencies": { 
    ... 
    "grunt-karma": "~0.12.0", 
    ... 
} 

versione 0.12.0 di grugnito -karma è stato rilasciato in data odierna, e utilizza la nuova API: https://github.com/karma-runner/grunt-karma/releases

5

hanno cambiato con la nuova versione qui:

https://github.com/karma-runner/karma/blob/master/CHANGELOG.md#breaking-changes

var Server = require('karma').Server; 
var config = { 
    configFile: path.join(__dirname, '/../karma.conf.js'), 
    singleRun: singleRun, 
    autoWatch: !singleRun 
}; 

var server = new Server(config, done) 
server.start() 
+0

Questo in realtà non risponde alla domanda - mentre aggiunge ulteriori dettagli al problema, non fornisce una soluzione per avviare l'esecuzione del test da Grunt. – nwinkler

+0

Questo mi ha aiutato a risolvere il problema che avevo con gulp. Anche se @nwinkler ha ragione, questo non risponde esattamente alla domanda nella sua forma attuale. È ancora informazioni estremamente preziose. Forse una fusione della risposta accettata e questa sarebbe appropriata? – Drellgor

-1

Se stai usando del Yeoman generatore-angolare come ero, è necessario passare fuori nel vostro grugnito-karma. file js.

Sostituisci var server = require(‘karma’).server;

con var Server = require('karma').Server;

e poi alla fine del file nel blocco altro, invece di server.start(config, done);

troverete server.start(data, finished.bind(done));

appena messo var server = new Server(data, finished.bind(done)); destra sopra di esso e dovrebbe funzionare bene.

+0

Non avresti dovuto farlo più - il plugin grunt-karma è stato aggiornato poco dopo aver postato la tua risposta. – nwinkler

0

sto usando Gulp e ho dovuto neanche installare il mio compito di prova come segue:

oppure ripristinare la versione di karma su 0.10.0 per farlo funzionare.Al momento non è disponibile la richiesta pull su gulp-karma per modificare il modo in cui funziona, ma non è sicuro se ci sarà un cambiamento in futuro.

Ecco un esempio utile che è stato aggiornato dopo la modifica API Karma: https://github.com/karma-runner/gulp-karma