所以我设置的测试在我的ZF 1.9.5应用感谢的本教程,我能够测试我的控制器,现在我想创建一个形式的测试。不过,我具有的PHPUnit无法找到我的形式问题。

Fatal error: Class 'Default_Form_AccountProfile' not found

我延伸PHPUnit_Framework_TestCase代替Zend_Test_PHPUnit_ControllerTestCase,因为它不是一个控制器。那是正确的事是什么?这是我的测试:

<?php

class AccountProfileTest extends PHPUnit_Framework_TestCase
{
    public function testPopulate()
    {
        $form = new Default_Form_AccountProfile();
        $user = array(
            'firstName' => 'Joe',
            'lastName' => 'Schmoe'
        );
        $form->populate($user);
        $this->assertEquals($form->getElement('firstName')->getValue(), 'Joe');
        $this->assertEquals($form->getElement('lastName')->getValue(), 'Schmoe');
    }
}

我在做什么错了?什么是Zend框架来测试形成正确的方法是什么?

有帮助吗?

解决方案

您的问题最简单的办法是“require_once” php文件在您的形式位于此文件的开头(或前致电新Default_Form ...)。

顺便说一句,有没有一个具体的理由为什么要测试的Zend_Form的默认行为?对于Zend_Form的测试已经写好,如果您下载完整版ZF的,你可以得到他们。如果您使用的形式有它自己的,具体的方法,或覆盖一些Zend_Forms方法比是有意义的测试者。

其他提示

如果您在您的application.ini一下,看看行指出“appnamespace”,为“应用程序”如果你使用Zend_Tool创建您的Zend Framework框架的默认值。

在为了防止这种错误的发生,则要么改变此设置“缺省”或重命名所有DEFAULT_ *类Application_ *(在该特定情况下,它的意思是在重命名“Default_Form_AccountProfile”到“Application_Form_AccountProfile”)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top