2008-12-01 13 views
8

मैं एक स्वचालित "बिल्डिंग" और PHP अनुप्रयोग के परीक्षण के लिए एक पूर्ण समाधान की तलाश में हूं। मैं क्रूज़ कंट्रोल के आसपास बनाए गए स्वचालित एप्लिकेशन बिल्ड चलाने के लिए एक समाधान, PhpUnderControl में आया था।क्रूज़ कंट्रोल और पीएचपी प्रोजेक्ट्स

दुर्भाग्य से पीएचयूसी अभी भी विकास के शुरुआती चरणों में है और मैं इसे विंडोज़ बॉक्स पर काम नहीं कर सकता।

कोशिश करने के कुछ घंटों बाद मैंने phpUc पर छोड़ दिया। अब मैं अकेले क्रूज़ कंट्रोल का उपयोग करने की कोशिश कर रहा हूं। जब यह पूरी बिल्ड प्रक्रिया चलाने की बात आती है तो यह ठीक काम करता है। मैं जिस चीज को चींटी की बिल्ड फ़ाइल में डालता हूं वह ठीक चलता है।

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

मुझे आश्चर्य है कि क्या क्रूज़ कंट्रोल PHPUnit (XML प्रारूप में) द्वारा प्रोजेक्ट लॉग में बनाए गए लॉग मर्ज करने में सक्षम है या यह केवल जावा की जुनीट फ़ाइलों के लिए काम कर रहा है। क्या किसी ने एक php परियोजना पर अकेले क्रूज़ कंट्रोल का उपयोग करने की कोशिश की है?

<log dir="logs/${project.name}"> 
<merge dir="projects/${project.name}/build/logs/"/> 
</log> 

यह वह जगह है प्रतिलिपि चिपकाया + रास्तों क्रूज नियंत्रण के नमूने परियोजना से बदल दिया है:

यहां लॉग (config.xml) परियोजना के विन्यास की धारा है।

कोई भी विचार कृपया किसी को भी।

धन्यवाद

उत्तर

2

अगर क्रूज नियंत्रण परियोजना लॉग में (XML स्वरूप में) PHPUnit द्वारा बनाई लॉग विलय करने में सक्षम है या यह जावा के JUnit फ़ाइलों केवल के लिए काम है मैं सोच रहा हूँ।

सीसी किसी भी XML फ़ाइल को विलय करेगा जिसे आप इंगित करते हैं। जब आप कहते हैं कि फ़ाइलों को विलय करना काम नहीं कर रहा है, तो क्या आपको उन्हें विलय करने में कोई त्रुटि हो रही है या परिणाम पृष्ठ पर दिखाई देने वाले परीक्षण परिणाम नहीं हैं? यदि आप बिल्ड लॉग फ़ाइल को देखते हैं तो क्या आप परीक्षण परिणामों में विलय करते हैं?

एक समस्या जो आप देख सकते हैं वह यह है कि जेएसपी रिपोर्टिंग एप्लिकेशन में .xsl फ़ाइलें परीक्षण परिणामों को उस संरचना में होने की उम्मीद कर रही हैं जो चींटी जूनिट कार्य बनाता है। क्या हो रहा है कि आप फ़ाइलों में विलय कर रहे हैं लेकिन .xsl को नहीं पता कि परिणाम कैसे प्रदर्शित करें।

लेकिन मुझे लगता है कि एक आसान समाधान है। PhpUnderControl प्रोजेक्ट एक phpunit.jsp की आपूर्ति करता है। मुझे लगता है कि अगर आप इसे अपने मौजूदा सीसी इंस्टॉल में जोड़ते हैं तो आप परीक्षा परिणाम देख पाएंगे। आप आसानी से टैब पर phpunit.jsp जोड़ सकते हैं; बस main.jsp पर देखो और यह स्पष्ट होना चाहिए।

यदि आपके पास कोई फॉलो-अप प्रश्न हैं तो मैं क्रूज़ कंट्रोल users mailing list की अनुशंसा करता हूं।

(मैं एक PHP परियोजना पर सीसी उपयोग नहीं किया है, लेकिन मैं सीसी कमिटर में से एक हूँ।)

+0

मेरे प्रश्न का उत्तर देने के लिए समय निकालने के लिए धन्यवाद, मेरा मतलब है कि 'काम नहीं कर रहे विलय' का मतलब यह है कि पहले निर्माण के बाद सीसी/लॉग/प्रोजेक्ट निर्देशिका के तहत कोई लॉग फाइल नहीं बनाई गई है। मैंने शुरू किया और नई config.xml फ़ाइल बनाई और मुझे इसे काम करने के लिए मिला। मुझे लगता है कि मैंने कुछ तरीकों से कॉन्फ़िगरेशन फ़ाइल को गड़बड़ कर दिया है। – CountZero

0

मैं ने पाया है कि CruiseControl केवल लॉग परीक्षण के परिणाम युक्त जब एक परीक्षण में विफल रहता है मर्ज करें।

जब मैंने उद्देश्य पर एक परीक्षण तोड़ दिया, तो परिणाम लॉग में विलय हो गए, और जहां क्रूज़ कंट्रोल डैशबोर्ड पर दिखाया गया।

क्या आपकी समस्या हो सकती है?

0

हमने सीसी के साथ PHPUc का उपयोग करने की कोशिश की और हम सामान को सही काम नहीं कर पाए। हमने सीधे सीसी के साथ प्रयोग किया लेकिन हमें वहां प्रमाणीकरण प्राप्त करना मुश्किल हो गया (हम वितरित किए गए हैं, इसलिए हमारी रिपोर्ट दुनिया के लिए खुली होगी जब तक कि हम इसे कम नहीं कर लेते - हम इसे समझ नहीं पाए।)

तो , अब हम वास्तव में हमारे निर्माण उपकरण के रूप में हमारे सीआई इंजन और फ़िंग के रूप में हडसन का उपयोग कर रहे हैं। यह ठीक काम करता है। हमारे पास PHPUnit से सीधे आने वाली कोड कवरेज रिपोर्ट है (जो हडसन अभी भी जावा दुनिया से "क्लोवर कवरेज" कहता है, लेकिन हे, यह सिर्फ एक लिंक का नाम है और हम जानते हैं कि इसका क्या अर्थ है)।

हडसन सेट करना आसान था और PHP के लिए आपको जो भी चाहिए, उसके साथ काम करना प्रतीत होता है।

+0

चूंकि मैंने इसे पोस्ट किया है, इसलिए हमें वास्तव में क्रूज़ कंट्रोल के साथ PHPuc काम कर रहा है और यह सब बहुत चिकनी है। मैं वह लड़का नहीं हूं जिसने इसे किया, लेकिन स्पष्ट रूप से यह किया जा सकता है। हमारे पास PHPUnit, पीएमडी, CodeSniffer और सभी काम कर रहे मेट्रिक्स चार्ट के साथ कोड कवरेज रिपोर्ट है। तो आशा है। –

1

phpunit, phpUnderControl और CC महान काम करते हैं!

परीक्षण PHPUnit xml फ़ाइल में यह सुनिश्चित करें कि PHPUnit लॉग उत्पन्न फ़ाइल सही पथ

<log type="junit" target="...../cruisecontrol-bin-2.8.4/projects/<projname>/build/logs/logfile.xml" logIncompleteSkipped="false"/> 

में एक बार logfile.xml PHPUnit परीक्षण से उत्पन्न किया जाता है (सीसी के साथ phpUnderControl) टैब में हो रही के लिए phpUnderControl और CC दोनों के परीक्षण टैब में दिखाए जाते हैं।

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

  • कोई संबंधित समस्या नहीं^_^