因此,我已經在我的ZF 1.9.5應用程序中設置了測試,這要歸功於this tutorial,我能夠測試我的控制器,現在我想爲表單創建一個測試。但是,我遇到PHPUnit無法找到我的表單的問題。如何在Zend Framework 1.8+中測試我的表單?
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 Framework中測試表單的正確方法是什麼?
我想覆蓋默認的填充方法,但我不確定原始方法是如何工作的,所以我想做一些測試來了解它是如何工作的。 – Andrew 2009-11-18 20:54:31
我試過使用一次,但它也找不到Zend_Form類。我有一種感覺,我的測試將會被要求陳述散佈。有沒有不同的方法可以包含所有我需要的類,而無需專門調用它們? – Andrew 2009-11-18 20:57:20
您必須設置包含路徑,以便您的單元測試可以找到您的Zend庫。如果你不想require_once你要測試的所有類,你必須設置自動加載器並且包含路徑,就像你在應用程序引導中所做的那樣。將所有這些代碼放在TestHelper.php中,並告訴phpunit使用TestHelper在運行測試之前設置您的環境。看看phpunit的文檔。我還沒有看到你所指的教程,因此我不知道你的其他測試是如何設置的。 – 2009-11-19 08:29:04