2010-04-21 55 views
0

我使用Zend模塊化導向器結構,即的控制器PHP單元測試返回任何錯誤和

application 
     modules 
     users 
      controllers 
      . 
      . 
     lessons 
     reports 
     blog 

我在「博客」的控制器的單元測試去有點像沒有成功消息下面的代碼段: 我肯定是做了一件非常錯誤的事,或者失去了一些東西 - 因爲當我運行測試時,我沒有得到任何錯誤,沒有成功的消息(通常情況下就像...... OK(2個測試,2個斷言) )。 我從layout.phtml獲取所有文本,我擁有全球網站佈局。

這是我的第一次努力編寫單元測試的Zend的-M-V-C結構,所以也許我失去了一些重要的東西?

這裏去....

require_once '../../../../public/index.php'; 
require_once '../../../../application/Bootstrap.php'; 
require_once '../../../../application/modules/blog/controllers/BrowseController.php'; 
require_once '../../../TestConfiguration.php'; 

class Blog_BrowseControllerTest extends Zend_Test_PHPUnit_ControllerTestCase 
{ 
    public function setUp() { 
     $this->bootstrap = array($this, 'appBootstrap'); 
     Blog_BrowseController::setUp(); 
    } 

    public function appBootstrap() { 
     require_once dirname(__FILE__) . '/../../bootstrap.php'; 

    } 

    public function testAction() { 
     $this->dispatch('/'); 
     $this->assertController('browse'); 
     $this->assertAction('index'); 
    } 

    public function tearDown() { 
    $this->resetRequest(); 
    $this->resetResponse(); 
    Blog_BrowseController::tearDown(); 
    } 
} 

回答

1

public/index.php文件是用來引導您的網頁查看應用程序的腳本。我認爲你不應該把它包含在你的測試腳本中。此外,您可以通過引用APPLICATION_PATH來避免所有這些相對路徑。

require_once '../../../../public/index.php'; 
+0

偏離主題。嘿,你爲什麼刪掉你關於'gcc'的回答?這是正確的,我正準備將你標記爲已接受。 – OscarRyz 2010-04-21 19:41:15

+0

對不起,另一個用戶發佈了關於'/ usr/bin/gcc'和使用'pkgutil',我認爲我的答案是不準確的。看來我在兩個地方都有'gcc',這對我來說沒有意義。我通常會讓選票決定,但我認爲我犯了一些錯誤或疏忽,並不想誤導任何人。 很高興我的回答幫助你,但!現在找出爲什麼有'gcc' ... – awgy 2010-04-21 20:17:37

+0

您好,感謝, 事實證明,錯誤是由於程序的引導文件配置的兩個副本 - 我曾兩次宣佈類和誤差沒有出現在屏幕上(?爲什麼?),但發現它在PHP錯誤日誌。 感謝您花時間回答! – 2010-04-21 21:55:57

相關問題