2015-07-16 5 views
6

जब एक घुरघुराना काम मैं निम्नलिखित चेतावनी मिलती से कर्म चल:चेतावनी 'एपीआई इंटरफेस बदल गया है' जब घुरघुराना पर कर्मा चल

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. 

मैं परीक्षण किया है मेरी विन्यास के साथ कर्म चल रहा है, दोनों 'रन का उपयोग कर 'और' कर्म 'कमांड शुरू करें और वे ठीक काम करने लगते हैं।

grunt --force का उपयोग करते हुए कार्य को पूरा कर सकते हैं, लेकिन यह चेतावनी के साथ पूरा करता है।

  • कर्मा 0.13.0
  • ग्रंट 0.4.5
  • घुरघुराना-CLI 0.1.13
  • Node.js 0.12.7:

    इस संस्करण है कि मैं वर्तमान में उपयोग कर रहा हूँ कर रहे हैं

  • NPM 2.11.3

परियोजना Yeoman (1.4.7) का उपयोग कर उत्पन्न की गई, लेकिन मैं सैम है एक अलग परियोजना में कर्म का उपयोग करके एक समस्या है जिसमें सिर्फ जैस्मीन, कर्म और ग्रंट (गुलप के साथ इसका परीक्षण भी किया गया है)।

मैंने चेतावनी संदेश की खोज की है लेकिन कुछ भी नहीं मिला है। मुझे नहीं पता कि यह अपेक्षित व्यवहार है या चेतावनी के बिना कार्यों को पूरा करने का दूसरा तरीका है या नहीं।

+0

क्या घुरघुराना काम कैसा दिखता है:

यहाँ एक उपयोगी उदाहरण है कि कर्मा एपीआई परिवर्तन के बाद अद्यतन किया गया था है? – Phil

उत्तर

4

आप grunt-karma प्लगइन का उपयोग कर रहे हैं, तो ग्रंट से कर्मा परीक्षण शुरू करने के लिए, आप 0.12.0 करने के लिए अपने package.json फ़ाइल में grunt-karma निर्भरता अद्यतन करने की आवश्यकता: घुरघुराना की

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

संस्करण 0.12.0 -karma आज पहले जारी किया गया था, और यह नए API का उपयोग करता: https://github.com/karma-runner/grunt-karma/releases

5

वे यहाँ नए संस्करण के साथ बदल दिया है:

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

यह वास्तव में प्रश्न का उत्तर नहीं देता है - जबकि यह इस मुद्दे पर और जानकारी देता है, यह ग्रंट से परीक्षण निष्पादन शुरू करने के लिए एक फिक्स प्रदान नहीं करता है। – nwinkler

+0

इससे मुझे इस मुद्दे को हल करने में मदद मिली जो मैंने गल्प के साथ किया था। हालांकि, @nwinkler सही है कि यह वास्तव में अपने वर्तमान रूप में सवाल का जवाब नहीं देता है। यह अभी भी बेहद मूल्यवान जानकारी है। शायद स्वीकार्य उत्तर में कुछ विलय हो रहा है और यह उचित होगा? – Drellgor

-1

आप उपयोग कर रहे हैं Yeoman के जनरेटर-कोणीय जैसे मैं था, तो आप अपने घुरघुराना-कर्म में इसे बाहर स्विच करना होगा। जेएस फ़ाइल।

बदलें var server = require(‘karma’).server;

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

और फिर server.start(config, done);

के बजाय किसी और ब्लॉक में फ़ाइल के तल पर साथ

आप server.start(data, finished.bind(done));

बस इसे ऊपर सही var server = new Server(data, finished.bind(done)); डाल मिल जाएगा और यह ठीक काम करना चाहिए।

+0

आपको अब ऐसा नहीं करना चाहिए - आपके उत्तर पोस्ट करने के तुरंत बाद grunt-karma प्लगइन अपडेट किया गया था। – nwinkler

0

मैं Gulp उपयोग कर रहा हूँ और मैं या तो सेटअप अपने परीक्षण कार्य किया था इस प्रकार है:

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

gulp.task('test', function (done) { 
    new Server({ 
    configFile: __dirname + '/karma.conf.js', 
    singleRun: true 
    }, done).start(); 
}); 

या काम करने के लिए कर्म संस्करण को 0.10.0 पर रोल करें।इस समय यह काम करने के तरीके को बदलने के लिए gulp-karma पर पुल अनुरोध नहीं है, लेकिन यह सुनिश्चित नहीं है कि भविष्य में कोई बदलाव आएगा या नहीं। https://github.com/karma-runner/gulp-karma

संबंधित मुद्दे