/ / फिंग फंफुनिट "स्टैकइंडेक्स के साथ प्लगइन" 1 "पहले से ही पंजीकृत" त्रुटि - ज़ेंड-फ्रेमवर्क, फ़पुनिट, फ़िंग

फ़िंग phpunit "stackIndex के साथ प्लगइन" 1 "पहले से पंजीकृत" त्रुटि - ज़ेंड-फ्रेमवर्क, phpunit, phing

मेरे Zend फ्रेमवर्क (v1.12) परियोजना तैनाती Im Phing का उपयोग कर के लिए। यह फ्रंट-एंड और बैक-एंड एप्लिकेशन को चित्रित करता है। सब कुछ ठीक हो जाता है, अनफिल फ़िंग ने फ़्यूपुनिट परीक्षण शुरू किया:

<!-- Testing backend -->
<target name="backend-test" description="Testing backend system">
<phpunit codecoverage="false" haltonerror="true" haltonfailure="true" printsummary="true" bootstrap="${path.build}/${DSTAMP}${TSTAMP}/admin/tests/bootstrap.php">
<batchtest>
<fileset dir="${path.build}/${DSTAMP}${TSTAMP}/admin/tests">
<include name="**/*Test.php" />
</fileset>
</batchtest>
<formatter type="summary" usefile="false" />
</phpunit>
</target>

<!-- Testing frontend environment -->
<target name="site-test" description="Testing frontend system">
<phpunit codecoverage="false" haltonerror="true" haltonfailure="true" printsummary="true" bootstrap="${path.build}/${DSTAMP}${TSTAMP}/site/tests/bootstrap.php">
<batchtest>
<fileset dir="${path.build}/${DSTAMP}${TSTAMP}/site/tests">
<include name="**/*Test.php" />
</fileset>
</batchtest>
<formatter type="summary" usefile="false" />
</phpunit>
</target>

बैक-एंड पार्ट phpunit परीक्षण सफल होता है, लेकिन जब यह फ्रंट-एंड का परीक्षण शुरू करता है - तो यह इसे विफल कर देता है:

[phingcall] stackIndex "1" के साथ पहले से ही प्लगिनदर्ज कराई [phingcall] # 0/var/www/zend/Controller/Front.php(733): Zend_Controller_Plugin_Broker-> registerPlugin (ऑब्जेक्ट (Application_lugin_ACL), 1) ]

कोई विचार? आपकी सहायता का आभार होगा।

उत्तर:

उत्तर № 1 के लिए 1

आपके बूटस्ट्रैप को दो बार (या कम से कम संसाधन] कहा जा रहा है_init समारोह])।

आपको यह त्रुटि मिलती है क्योंकि आप समान स्टैक इंडेक्स के लिए अन्य प्लगइन उदाहरण को परिभाषित नहीं कर सकते हैं।

आपको अपने बूटस्ट्रैप में लोड किए गए सभी बारहमासी वर्गों का मजाक उड़ाने और इनमें से प्रत्येक वर्ग का व्यक्तिगत रूप से परीक्षण करने का तरीका खोजने का प्रयास करना चाहिए।

एक और तरीका यह होगा कि आप बूटस्ट्रैप करेंphpUnit सेटअप विधि में आवेदन करें और यह सुनिश्चित करें कि यह फाड़ में नष्ट हो गया है। यह अधिक ressource इंस्टेंसिव होगा और सबसे अधिक संभावना है कि आपके परीक्षणों को धीमा कर देगा क्योंकि पूरे Zend स्टैक को अस्थिर किया जाएगा, फिर मार दिया जाएगा, फिर से प्रत्येक के लिए पुन: त्वरित आपके परीक्षण के मामले