如何测试我的Zend框架1.8+形式?
-
20-09-2019 - |
题
所以我设置的测试在我的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”)。
不隶属于 StackOverflow