मैं वर्तमान में एक आवेदन पर यूनिट परीक्षण करने के लिए PHPUnit के संयोजन के साथ ज़ेंड फ्रेमवर्क का उपयोग कर रहा हूं। जब हडसन PHPUnit खोल कमांड निष्पादित करता है, तो अधिकतम कवरेज पीढ़ी के दौरान अधिकतम PHP मेमोरी सीमा तक पहुंच जाती है। वर्तमान में 334 दावों के साथ कुल 41 परीक्षण हैं।PHPUnit कोड कवरेज पीढ़ी मेमोरी थकावट
मैंने -d memory_limit=768M
स्विच का उपयोग कर स्मृति_limit सेटिंग 768M पर उठाकर सफलतापूर्वक इस त्रुटि को समाप्त कर दिया है; हालांकि, मुझे चिंता है कि जटिलता की कुल संख्या परीक्षण/दावे के साथ बढ़ जाती है, इसलिए कोड कवरेज आंकड़ों के लिए HTML उत्पन्न करने के लिए मेरे पास पर्याप्त स्मृति नहीं होगी।
ओएस: CentOS 5.5
नियंत्रण कक्ष: WHM/cPanel
सीआई सर्वर: हडसन
/usr/local/bin/phpunit
--verbose
-d memory_limit=512M
--log-junit ../../build/logs/phpunit.xml
--coverage-clover ../../build/logs/coverage/clover.xml
--coverage-html ../../build/logs/coverage-html/
Fatal error: Allowed memory size of 536870912 bytes exhausted
अपने परिवर्तनों को प्रतिबद्ध होते हैं और दे हडसन बाकी का काम करने से पहले, मैं विकास के लिए विंडोज 7 का प्रयोग करें। W7 के भीतर एक ही कमांड चलाते समय स्मृति उपयोग 340MB से अधिक नहीं हुआ।
क्या आपके सभी परीक्षण मामले एक कक्षा में हैं? – allnightgrocery
नहीं, परीक्षण चार अलग-अलग फाइलों के बीच विभाजित हैं। ये परीक्षण अपेक्षाकृत सरल हैं, esp। हमने जो योजना बनाई है उसकी तुलना में। –
:) आपके समाधान को पोस्ट करने के लिए धन्यवाद। मुझे आपके द्वारा सूचीबद्ध समस्या हो रही है और वास्तव में इसमें हैकिंग कर रही है। हर बार कुछ उठता है (लाइन 1999 में /pear/phpunit/framework/whatever.php में स्मृति समाप्त हो गई) मैं 'sudo vi /.../ whatever.php' टाइप करूंगा और एक पंक्ति 'set_ini (" memory_limit "" 1000M ")'। शायद सबसे अच्छा अभ्यास नहीं;) –