त्रुटि: आपको कुछ एडाप्टर को शामिल करने की आवश्यकता है जो __karma __ शुरू करते हैं। विधि


91

मैं अपने एक प्रोजेक्ट में कुछ यूनिट टेस्ट जोड़ने की कोशिश कर रहा हूं।

अब तक मैंने कर्म को स्थापित और कॉन्फ़िगर किया है, और चमेली स्थापित किया है। मेरे test/फ़ोल्डर में एक परीक्षण फ़ाइल है ।

कर्म सर्वर शुरू हो गया है, ब्राउज़र पेज तैयार है, लेकिन karma runनिम्नानुसार विफल रहता है:

$ karma run karma-conf.js 
[2014-06-14 15:19:11.046] [DEBUG] config - Loading config /foo/test/karma-conf.js
Waiting for previous execution...
Chrome 35.0.1916 (Linux) ERROR
  You need to include some adapter that implements __karma__.start method!

यह त्रुटि संदेश Google अच्छी तरह से नहीं करता है।

क्या यह कुछ स्पष्ट है, या मुझे अधिक जानकारी प्रदान करने की आवश्यकता है?


2
ध्यान देना चाहता था कि मैं इस त्रुटि को प्राप्त कर रहा था प्रीप्रोसेसर सिंटैक्स त्रुटियों के कारण जो मैंने पहले नहीं देखा था।
ब्रैडगर्न्स

जवाबों:


73

ऐसा लगता है कि यह एक बहुत ही सामान्य त्रुटि है, हालांकि मेरे मामले में समस्या यह थी कि मैं karma startसही फ़ोल्डर से नहीं चला था , या यह कि मैंने कॉन्फ़िगरेशन को बदलने के बाद इसे पुनरारंभ नहीं किया था।

मैं इस प्रश्न को खुला छोड़ दूंगा और उम्मीद है कि यह दूसरों के लिए एक संसाधन बन सकता है जो इस त्रुटि संदेश का अनुभव करते हैं।


26
मेरे लिए भी - दौड़ने karma start test/karma.conf.jsने मेरे लिए चाल चली। आपके लिए सही निर्देशिका अलग हो सकती है।
जेसन

3
प्रीप्रोसेसर जोड़ते समय मुझे यह त्रुटि मिली: {'src / ** / *। Js': ['babel']}, कोई विचार?
सुपरयूपरड्यूपर

5
मेरे test/**/*.{js,jsx}लिए test/**/*.+(js|jsx)इस त्रुटि को बदलने के लिए । कितना विचित्र!
जुनिपर-

1
यदि कर्मा विन्यास में टाइपो है तो भी ऐसी त्रुटि दिखाई दे सकती है
सेरोलियस

28

यदि आप अपने कर्म विन्यास फाइल का नाम देते हैं karma.conf.js, तो आप बस टाइप कर सकते हैं karma start

अन्यथा फ़ाइल नाम निर्दिष्ट करें karma start karmafile.js

(मैं सही निर्देशिका में था, लेकिन फ़ाइल नाम निर्दिष्ट नहीं कर रहा था।)


13

आपको अपना karma runया जो भी फ़ंक्शन फ़ोल्डर में चलाने की आवश्यकता है , जहां कर्म- conf.js है।


यह सही नहीं लगता। अगर मैं सबफ़ोल्डर karma startमें भाग srckarma.conf.js[karma-server]: Server start failed on port 9876: Error: The '@angular-devkit/build-angular/plugins/karma' karma plugin is meant to be used from within Angular CLI and will not work correctly outside of it.
लेता


6

मुझे karma.conf.jsफ़ाइल कोड प्रारूप में समस्या थी :

files: [
    // Modules
    ,"client/bower_components/angular/angular.min.js"
    ,"client/bower_components/angular-mocks/angular-mocks.js"
    // App
    ,"client/app/app.module.js"
    // Test
    // ,"test/**/*.spec.js"
],

filesसरणी में अतिरिक्त कॉमा इस त्रुटि का कारण है:

You need to include some adapter that implements __karma__.start method!

6

मैं उस मार्ग से कर्म प्रारंभ नहीं कर रहा था जहाँ मेरा कर्म था ।conf.js मैंने उस फोल्डर में स्विच किया और वही कमांड चलाया। बस इतना ही


4

मुझे Angular.js कोडबेस पर चश्मा चलाने के दौरान इस समस्या का सामना करना पड़ रहा था। मुझे npm install karma-jasmine -gयह काम करने के लिए दौड़ना पड़ा ।


3

यदि आप "कर्म प्रारंभ" टाइप कर रहे हैं, तो आपके पास वर्तमान फ़ोल्डर में एक karm.conf.js फ़ाइल होनी चाहिए। या सिर्फ "कर्म प्रारंभ /पथ / कर्म.कॉन एफ.जेएस"

"कर्म init /path/karma.conf.js" द्वारा एक नया कर्मार.conf.js बनाने की कोशिश करें


2

मेरे मामले में, मैं गलती से लागू कर रहा था karma-*मॉड्यूल और adapter.jsसे आमप्रायप्रोसेसर । karma-chromeऔर karma-firefoxइस तरह टूट गया था।

दुर्भाग्य से, यह एक बहुत ही सामान्य त्रुटि है।


क्या आप अपने किए गए सुधार में अधिक पृष्ठभूमि प्रदान कर सकते हैं? यह मुझे अभी मिल रहा है क्योंकि मुझे पता है कि मैं कर्म-क्रोम का उपयोग कर रहा हूं। धन्यवाद!
daniel.caspers 15:11 बजे

क्या आप आमजन प्रीप्रोसेसर लागू करते हैं (क्या यह कर्म धावक में कॉन्फ़िगर किया गया है)? यदि हाँ, तो सुनिश्चित करें कि यह कर्म- * मॉड्यूल में फ़ाइलों पर लागू नहीं है।
एड्रियन बेर

2

मुझे वही त्रुटि मिल रही थी क्योंकि प्रोजेक्ट बैबल 6 का उपयोग कर रहा था और मैं babelrc फ़ाइल जोड़ना भूल गया था। बस मामले में साझा करने से यह मदद मिल सकती है।


2

मेरे मामले में, संदेश वास्तव में बहुत वर्णनात्मक था: मैं एक एडेप्टर जोड़ना भूल गया, मेरे मामले में जैस्मीन, कॉन्फ़िगरेशन फ़ाइल में। इस प्रकार:

module.exports = function(config) {
  config.set({
      browsers: ['Chrome'],
      singleRun: true,
      frameworks: ['jasmine'],
      files: [
          // ... files ...
      ],
      // other configs
    });
};

2

आपको अपनी "my.conf.js" फ़ाइल को कॉन्फ़िगर करने की आवश्यकता है, क्योंकि इसमें आपके कोड का परीक्षण करने के लिए उपयोग की जाने वाली सभी जानकारी है।

आपको जो कुछ भी लिखना है वह यह है:

कॉन्फ़िगरेशन फ़ाइल को कर्म init का उपयोग करके उत्पन्न किया जा सकता है:

$ karma init my.conf.js

आप किस परीक्षण ढांचे का उपयोग करना चाहते हैं? संभावित विकल्पों को सूचीबद्ध करने के लिए टैब दबाएं। अगले प्रश्न पर जाने के लिए दर्ज करें।

चमेली

क्या आप आवश्यकताएँ का उपयोग करना चाहते हैं। यह आवश्यकता जोड़ देगा। जेएस प्लगइन। संभावित विकल्पों को सूचीबद्ध करने के लिए टैब दबाएं। अगले प्रश्न पर जाने के लिए दर्ज करें।

नहीं

क्या आप किसी ब्राउज़र को स्वचालित रूप से कैप्चर करना चाहते हैं? संभावित विकल्पों को सूचीबद्ध करने के लिए टैब दबाएं। अगले प्रश्न पर जाने के लिए खाली स्ट्रिंग दर्ज करें।

क्रोम

आपके स्रोत और परीक्षण फ़ाइलों का स्थान क्या है? आप ग्लोब पैटर्न का उपयोग कर सकते हैं, जैसे। "js / *। js" या "परीक्षण / ** / * Spec.js"। अगले प्रश्न पर जाने के लिए Enter दबाएँ।

* .js परीक्षण / ** / *। js

क्या पिछले पैटर्न द्वारा शामिल किसी भी फाइल को बाहर रखा जाना चाहिए? आप ग्लोब पैटर्न का उपयोग कर सकते हैं, जैसे। "** / *। SWP"।

अगले प्रश्न पर जाने के लिए Enter दबाएँ।

क्या आप चाहते हैं कि कर्म सभी फ़ाइलों को देखें और परिवर्तन पर परीक्षण चलाएं? संभावित विकल्पों को सूचीबद्ध करने के लिए टैब दबाएं।

हाँ

"/Users/vojta/Code/karma/my.conf.js" पर जनरेट की गई फ़ाइल।


1

मुझे जोड़ना चाहिए कि मेरे मामले में कर्म मुझे त्रुटि दे रहे थे क्योंकि मेरे पास माता-पिता में से एक के नाम पर [वर्ग] कोष्ठक थे।


1

एक ही मुद्दा मेरे साथ हुआ, और यह एक पुराने मॉड्यूल के कारण था।

रनिंग npm updateने इसे हल कर दिया।


1

एडेप्टर के बारे में टीटी की शिकायत जो शायद चमेली या मोचा है। या तो एडेप्टर गायब है, या तो सही तरीके से सेटअप नहीं है, या तो यह एडेप्टर का पुराना या छोटा संस्करण है।

मेरे मामले में मेरे पास मोचा 2.5.3 का एक पुराना संस्करण था जो कर्म 1+ के अनुरूप नहीं था। मैंने नवीनतम संस्करण उपलब्ध 3.2.0 और समस्या हल की मोचा निर्भरता को अद्यतन किया।


1

कई अस्पष्ट रूप से वर्णित त्रुटियों पर काम करते हुए, मैंने बेसपाट को स्थापित करने की कोशिश की: '../', अन्य त्रुटियों को सुधारने के बाद (जैसे कि अल्पविराम जो वस्तु सामग्री त्रुटियों के रूप में वर्णित थे) अंतिम आधार पर वापस मूलपाठ में बदल जाते हैं: '', काम करने के लिए कर्म मिला। कर्म के त्रुटि बयानों को बहुत काम करने की आवश्यकता है। इसे प्राप्त करना आसान नहीं है।


1

मेरी भी यही समस्या थी। मेरा ब्राउज़र खुल जाएगा, लेकिन मेरे टर्मिनल पर यह निम्नलिखित त्रुटि को फेंक देगा

30 08 2017 11:19:28.272:INFO [Chrome 58.0.3029 (Linux 0.0.0)]: Connected `enter code here`on socket 5sSs6E5KmpUVRp6LAAAB with id 93886631
Chrome 58.0.3029 (Linux 0.0.0) ERRORSome of your tests did a full page reload!

मैंने अपना कर्म चेक किया .conf.js फ़ाइल। फ्रेमवर्क ऐरे में, मैंने चमेली और अपेक्षित शामिल किया था। लेकिन मैं केवल कर्म-चमेली स्थापित किया था। Removing की आवश्यकता हैJS और पुनर्मूल्यांकन शुरू कर्म शुरू!



1

मेरे कर्म में एक खराब 'फाइल' विन्यास था ।conf.js

files: ['**/*.js'],

इसने सभी फाइलों को नोड_मॉड्यूल्स में पकड़ा / जिनमें कर्म-चमेली प्लगइन भी शामिल है, क्योंकि इसे खट्टा फाइलों के रूप में देखा गया था जो इसे स्टार्टअप पर लोड नहीं किया गया था। को बदल रहा है

files: [
        'src/*.js',
        'spec/*.js'
    ],

मेरे मामले में समस्या हल हो गई


0

एफडब्ल्यूआईडब्ल्यू - karma.conf.jsमेरे लिए स्थानीय स्तर पर काम करने की फ़ाइल पथ की सोर्सिंग करता है , लेकिन मेरे जेनकींस बिल्डर पर नहीं। मेरे पास शून्य सुराग है कि यह मामला क्यों है, लेकिन जेनकिंस पर यह त्रुटि तब तक फेंक रहा था जब तक कि karma.conf.jsफ़ाइल रूट डायरेक्टरी में नहीं थी जहां कर्म कमांड दिया गया था। मैं रेल का उपयोग कर रहा हूं और रेक कार्य के माध्यम से js चश्मा चला रहा हूं। नीचे कोड है जो कुछ के लिए सहायक हो सकता है।

https://gist.github.com/daino3/a39486ff8bfc1668e923


0

मेरे मामले में मुद्दा यह था कि कर्म कोई फाइल नहीं उठाता था। इसे karma.conf.js में ठीक करने से समस्या हल हो गई।


0

मेरे मामले में, यह कर्म से संबंधित नहीं था! मैं ईएस 6 / बैबल के साथ गल्प से कर्म चलाता हूं, और वास्तव में एक कोड सिंटैक्स त्रुटि थी, जिसे मेरे कर्म के ऊपर एक बेबल त्रुटि द्वारा चिह्नित किया गया था:

त्रुटि [preprocessor.babel]: xxx.js: अप्रत्याशित टोकन (19:83)

मैंने तय किया कि मेरे src और कर्म में फिर से खुश थे।


0

मैं इससे भी जूझ रहा हूं। जो मैं ऊपर आया वह यह है कि यह त्रुटि इसलिए होती है क्योंकि निम्न कारणों में से एक है

  • कोई परीक्षण एडेप्टर स्थापित या परिभाषित नहीं किया गया है ( कर्म में गुण गुण ।conf.js
  • कोई कर्म कॉन्फ़िगरेशन नहीं मिला (अर्थात, karma.conf.jsवर्तमान dir में कोई भी कॉन्फ़िगरेशन या कमांड में निर्दिष्ट कोई फ़ाइल नहीं)

मेरी समस्या यह थी कि मेरी कॉन्फ़िग फ़ाइल को karma.config.jsइसके स्थान पर नाम दिया गया था karma.conf.js

यदि आपने परीक्षण एडाप्टर स्थापित किया है, लेकिन यह अभी भी काम नहीं करता है, तो चल रहे प्रयास करें karma initऔर निर्देशित कॉन्फ़िगरेशन सेटअप के माध्यम से जाएं।


0

मेरे मामले में, कॉन्फ़िगरेशन फ़ाइल नाम अलग था । इसलिए, कमांड फाइल को चलाने से कॉन्फिडेंशियल फाइल करने से मेरी समस्या हल हो गई।

>> karma start unit-tests.conf.js
No captured browser, open http://localhost:9876/
...

और 'फैंटमज' के लिए, ब्राउज़र में निर्दिष्ट लिंक ( लोकलहोस्ट: 9876 ) को खोलना परीक्षण के मामलों को निष्पादित करता है।

आशा करता हूँ की ये काम करेगा। :)

संपादित करें 1: मेरा कर्म विन्यास फाइल

module.exports = function(config) {
  config.set({

    // base path that will be used to resolve all patterns (eg. files, exclude)
    basePath: '',


    // frameworks to use
    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
    frameworks: ['jasmine'],


    // list of files / patterns to load in the browser
    files: [
      './node_modules/angular/angular.js',
      './node_modules/angular-ui-router/release/angular-ui-router.js',
      './node_modules/angular-mocks/angular-mocks.js',
      './app/services/users/users.js',
      './app/app.js',
      './app/services/users/users.spec.js'
    ],


    // list of files to exclude
    exclude: [
    ],


    // preprocess matching files before serving them to the browser
    // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
    preprocessors: {
    },


    // test results reporter to use
    // possible values: 'dots', 'progress'
    // available reporters: https://npmjs.org/browse/keyword/karma-reporter
    reporters: ['spec'],


    // web server port
    port: 9876,


    // enable / disable colors in the output (reporters and logs)
    colors: true,


    // level of logging
    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
    logLevel: config.LOG_INFO,


    // enable / disable watching file and executing tests whenever any file changes
    autoWatch: true,


    // start these browsers
    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
    browsers: ['Chrome'],


    // Continuous Integration mode
    // if true, Karma captures browsers, runs the tests and exits
    singleRun: false,

    // Concurrency level
    // how many browser should be started simultaneous
    concurrency: Infinity
  })
}

0

मुझे यह त्रुटि मिली क्योंकि मुझे दो बार समान निर्भरता की आवश्यकता थी!

डुप्लिकेट फ़ाइल निर्भरता को हटाने से मेरे लिए त्रुटि दूर हो गई। नीचे नीले रंग में परिक्रमा की।

यहां छवि विवरण दर्ज करें


0

आपको कर्म कॉन्फ़िगरेशन फ़ाइल को कर्म में निर्दिष्ट करना होगा ।

karma start karma.config.js 

इससे मेरा काम बनता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.