0

私は zend モジュラー ディレクター構造を使用しています。

   application  
      modules  
         users  
           controllers  
            .  
            .  
        lessons  
        reports  
        blog  

「ブログ」にあるコントローラーの単体テストは、次のコード セクションのようになります。間違いなく、非常に間違ったことを行っているか、何か不足しています。テストを実行すると、エラーも成功メッセージも表示されません。 (通常は ...OK (2 つのテスト、2 つのアサーション) のようになります)。グローバル サイト レイアウトがある layout.phtml からすべてのテキストを取得します。

これは zend-MVC 構造の単体テストを作成する最初の試みなので、おそらく何か重要なものが欠けていますか?

ここに行きます....

 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();
   }
}
4

1 に答える 1

1

このpublic/index.phpファイルは、Web 表示用にアプリケーションをブートストラップするために使用されるスクリプトです。テストスクリプトに含める必要はないと思います。また、 を参照することで、これらの相対パスをすべて回避できますAPPLICATION_PATH

require_once '../../../../public/index.php';
于 2010-04-21T19:34:18.213 に答える