के साथ PHP यूनिट परीक्षण मेरे पास एक ऐसा एप्लिकेशन है जो लॉगिन के पीछे है और zend_acl और zend_auth का उपयोग करता है।ज़ेंड ऑथ और ज़ेंड एसीएल
प्री-डिस्पैच के दौरान मेरे पास एक एसीएल प्लगइन है जो एसीएल के लिए सभी नियम बनाता है। मेरे पास एक एथ प्लगइन भी है जो जांचता है कि क्या आप लॉग इन हैं या नहीं और यदि ऐसा है तो आपके पास एसीएल के अनुसार अनुरोधित संसाधन तक पहुंच है।
आवेदन एक लॉगिन यदि आप में।
इकाई परीक्षण किए हुए होते हैं यह असंभव, या बल्कि अधिक होने की संभावना मैं कुछ स्पष्ट याद कर रहा हूँ हो गया लगता है एसीएल केवल बनाई गई है पीछे पूरी तरह से है।
मेरी यूनिट परीक्षण सेटअप विधि में मैं एक सफल लॉगिन अनुकरण करता हूं जो zend_auth उदाहरण देता है। पास होने वाले टेस्ट इंगित करते हैं कि यह लॉगिन सफल रहा था।
हालांकि, यदि मैं परीक्षण के माध्यम से किसी अन्य स्थान पर प्रेषण करने का प्रयास करता हूं, या आकलन करता हूं कि लॉग इन उपयोगकर्ता को किसी दिए गए संसाधन तक पहुंच है तो उसे प्लगइन द्वारा हमेशा अस्वीकार कर दिया जाता है क्योंकि वे अभी भी लॉग इन नहीं हैं। मैं नहीं हूं यकीन है कि यह क्यों है, क्या कोई सलाह दे सकता है?
उदाहरण के लिए इस गुजरता है:
public function testLoggedIn()
{
$this->assertTrue(Zend_Auth::getInstance()->hasIdentity());
}
यह विफल रहता है के रूप में यह प्लगइन द्वारा अस्वीकार कर दिया गया है:
public function testUserAccess()
{
$this->dispatch('/home');
$this->assertResponseCode(200);
$this->assertQueryContentContains('#nav_side');
$this->resetRequest()
->resetResponse();
}
यह, मैं पाया है अभी भी प्लग इन के रूप लॉगइन पेज पर वापस पुनः निर्देशित किया जा रहा है पता नहीं है कि उपयोगकर्ता लॉग इन है।
किसी भी मदद की बहुत सराहना की।
हां- आपको लगता है कि यह मुद्दा है। –