Zend_Test_PHPUnit Zend_Test_PHPUnit מספקת בדיקות למערכת שלכם אשר כוללת בדיקות של כל פעולה ומה היא צריכה לעשות, ומה היא עושה בפועל. הדרך הקלה והטובה ביותר כדי להבין מה זה באמת עושה היא לצפות בדוגמא לשימוש. דוגמא לשימוש ב TestCase הקוד הבא מציג דוגמא פשוטה לשימוש ב UserController על מנת לוודאות כמה דברים: טופס ההתחברות מוצג רק למשתמשים שהם לא מחוברים. כשמשתמש מתחבר, הוא צריך לעבור לעמוד הפרופיל שלו, והפרופיל צריך להציג מידע רלוונטי אודות המשתמש. דוגמא ספציפית זו מעריכה כמה דברים. דבר ראשון, אנחנו מעברים את מרבית קוד ההתחלה שלנו לפלאגין. זה מפשט את התקנת צורת הבדיקה מאחר וזה מאפשר לנו להגדיר את סביבת העבודה באופן תמציתי, ומאפשר לנו להפעיל את כל המערכת בשורה אחת. כמו כן, הדוגמא הספציפית הזו מעריכה שכל המחלקות שצריכות להקרא כבר נקראו ולא יהיה צורך בלדאוג אם הוספנו או קראנו לכל מחלקה שצריך. bootstrap = array($this, 'appBootstrap'); parent::setUp(); } public function appBootstrap() { $this->frontController ->registerPlugin(new Bugapp_Plugin_Initialize('development')); } public function testCallWithoutActionShouldPullFromIndexAction() { $this->dispatch('/user'); $this->assertController('user'); $this->assertAction('index'); } public function testIndexActionShouldContainLoginForm() { $this->dispatch('/user'); $this->assertAction('index'); $this->assertQueryCount('form#loginForm', 1); } public function testValidLoginShouldGoToProfilePage() { $this->request->setMethod('POST') ->setPost(array( 'username' => 'foobar', 'password' => 'foobar' )); $this->dispatch('/user/login'); $this->assertRedirectTo('/user/view'); $this->resetRequest() ->resetResponse(); $this->request->setMethod('GET') ->setPost(array()); $this->dispatch('/user/view'); $this->assertRoute('default'); $this->assertModule('default'); $this->assertController('user'); $this->assertAction('view'); $this->assertNotRedirect(); $this->assertQuery('dl'); $this->assertQueryContentContains('h2', 'User: foobar'); } } ]]> ניתן היה לכתוב את אותה הדוגמא בצורה פשוטה יותר -- לא כל הבדיקות אשר מוצגות הם הכרחיות, והם מוצגות רק לצורך המחשה בלבד. בתקווה שזה מציג עד כמה פשוט אפשר יהיה לבדוק את המערכות שהנכם כותבים.