2014-07-17 12 views
12

मेरे कर्म परीक्षणों में क्रोम का उपयोग करते समय, मैं अक्सर (सभी रनों में से 50% से अधिक) देखता हूं कि प्रत्येक परीक्षण क्रोम द्वारा दो बार निष्पादित किया जाता है। नीचे आप एक उदाहरण आउटपुट और मेरी कॉन्फ़िगरेशन पा सकते हैं।क्रोम कर्म में दो बार परीक्षण चलाता है

मैं इसे कैसे रोक सकता हूं? कारण क्या है?

karma start --single-run --browsers Firefox,Chrome 

INFO [karma]: Karma v0.12.17 server started at http://localhost:9876/ 
INFO [launcher]: Starting browser Firefox 
INFO [launcher]: Starting browser Chrome 

INFO [Chrome 36.0.1985 (Linux)]: Connected on socket RV8G8p63bCLQGaAJW9Hc with id 91444447 
Chrome 36.0.1985 (Linux): Executed 0 of 92 SUCCESS (0 secs/0 secs) 
Chrome 36.0.1985 (Linux): Executed 1 of 92 SUCCESS (0 secs/0.065 secs) 
[...] 
Chrome 36.0.1985 (Linux): Executed 91 of 92 SUCCESS (0 secs/0.24 secs) 
Chrome 36.0.1985 (Linux): Executed 92 of 92 SUCCESS (0 secs/0.241 secs) 
Chrome 36.0.1985 (Linux): Executed 92 of 92 SUCCESS (0.274 secs/0.241 secs) 
Chrome 36.0.1985 (Linux): Executed 93 of 92 SUCCESS (0.274 secs/0.258 secs) 
[...] 
Chrome 36.0.1985 (Linux): Executed 183 of 92 SUCCESS (0.274 secs/0.412 secs) 
Chrome 36.0.1985 (Linux): Executed 184 of 92 SUCCESS (0.274 secs/0.413 secs) 

INFO [Iceweasel 30.0.0 (Linux)]: Connected on socket 4DISHs7012QeIwhEW9Hd with id 93232241 

Chrome 36.0.1985 (Linux): Executed 184 of 92 SUCCESS (0.274 secs/0.413 secs) 
Iceweasel 30.0.0 (Linux): Executed 0 of 92 SUCCESS (0 secs/0 secs) 
Chrome 36.0.1985 (Linux): Executed 184 of 92 SUCCESS (0.274 secs/0.413 secs) 
Iceweasel 30.0.0 (Linux): Executed 1 of 92 SUCCESS (0 secs/0.003 secs) 
[...] 
Iceweasel 30.0.0 (Linux): Executed 91 of 92 SUCCESS (0 secs/0.201 secs) 
Chrome 36.0.1985 (Linux): Executed 184 of 92 SUCCESS (0.274 secs/0.413 secs) 
Iceweasel 30.0.0 (Linux): Executed 92 of 92 SUCCESS (0 secs/0.202 secs) 
Chrome 36.0.1985 (Linux): Executed 184 of 92 SUCCESS (0.274 secs/0.413 secs) 
Iceweasel 30.0.0 (Linux): Executed 92 of 92 SUCCESS (0.303 secs/0.202 secs) 
TOTAL: 276 SUCCESS 

विन्यास:

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

    basePath : 'www', 

    frameworks : [ 'jasmine' ], 

    files : [ 'js/*' ], 

    exclude : [ 'spec/lib/*.js' ], 

    reporters : [ 'progress', 'junit', 'html', 'coverage' ], 

    coverageReporter : { 
     type : 'html', 
     dir : 'coverage/' 
    }, 

    preprocessors : { 
     'js/*.js' : 'coverage', 
    }, 

    junitReporter : { 
     outputFile : 'test-results.xml' 
    }, 

    colors : true, 

    logLevel : config.LOG_INFO, 

    autoWatch : true, 

    browsers : [ 'Firefox', 'Chrome' ], 

    captureTimeout : 20000, 

    reportSlowerThan : 500, 

    plugins : [ 'karma-jasmine', 'karma-coverage', 'karma-html-reporter', 'karma-chrome-launcher', 'karma-junit-reporter', 'karma-phantomjs-launcher', 'karma-firefox-launcher' ] 

    }); 
}; 
+0

आपकी कॉन्फ़िगरेशन फ़ाइल कैसी दिखती है? – andreaspfr

+0

@ सात-प्ली http://paste.debian.net/110248/ –

+0

क्या आपके पास परीक्षण लॉन्च करते समय क्रोम पर एक मौजूदा टैब है? कभी-कभी मुझे सफारी के साथ एक ही समस्या मिलती है और आमतौर पर यह यह है। – MarcoL

उत्तर

0

मेरे लिए क्रोम 50% मामलों में दो बार स्क्रिप्ट runing गया था क्योंकि मैं favicon.ico पड़ा। मुझे इसे खोजने के लिए एक दिन लगाया :) क्या पृष्ठ के लिए आपका आइकन क्रोम ब्राउज़र में दिखाई देता है? यदि नहीं, तो क्रोम favicon.ico की तलाश में है, और यदि आपकी साइट एक ही PHP कोड के साथ 404 पृष्ठ लौटाती है, तो क्रोम इसे दो बार करेगा।

<link rel="icon" href="/favicon.ico" sizes="32x32" type="image/png" /> 
+0

मैं एक वेबसर्वर का उपयोग नहीं करता, इसलिए कोई 404 कोड नहीं है। और जहां तक ​​मुझे पता है, यह आइकन वैकल्पिक है। –

0

आप चमेली के boot.js जो कर्म परीक्षण मामलों

3

के साथ परीक्षण मामलों के अपने स्वयं के सेट चलाता है आप अपने कर्म config गलत हो सकता है सहित किया जाना चाहिए। लेकिन यह पता होना चाहिए कि जहां अपने परीक्षण फ़ाइलें हैं नहीं उन्हें शामिल हैं:

files : ['js/*'] 

को बदलने की जरूरत है हो सकता है:

files : ['js/*.js', 
     { pattern: 'tests/*.js', included: false }] 

(यह अपने स्रोत फ़ाइलों ./js/ के नीचे होने की उम्मीद है और अपने परीक्षण ./tests/ के नीचे होने की

(मैं से [https://medium.com/@SchizoDuckie/so-your-karma-tests-run-twice-this-is-what-you-need-to-do-be74ce9f257e#.m3ci0m5vb] यह मिल गया और यह मेरे लिए काम किया)

6

मैं जानता हूँ कि यह एक पुराने सवाल ख है मेरे लिए समस्याएं reporters कर्म कॉन्फ़िगरेशन फ़ाइल में सेटिंग के साथ थीं।

मैं था: reporters: ['progress', 'dots', 'junit']

प्रगति चल रहा हैसाथ डॉट्स दो बार चल रहा है परीक्षण की वजह से (या बल्कि दिखा इसे दो बार चलाने)।

तो समाधान उन पत्रकारों में से एक को छोड़ना था।

+0

वही है, मेरी समस्या पत्रकारों के साथ भी थी। +1 – yl2015

0

यह मेरे साथ हुआ क्योंकि मेरे पास एक और क्रोम टैब खुला था और कर्म सर्वर को इंगित करता था।

0

यह मेरे साथ हो रहा था क्योंकि मैंने अपने कर्म रन/डीबग कॉन्फ़िगरेशन में ब्राउज़र निर्दिष्ट नहीं किया था। निर्दिष्ट करें कि "प्रारंभ करने के लिए ब्राउज़र" के अंतर्गत (जैसा कि नीचे दिखाया गया है)।

enter image description here

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