質問

だから、私はZF 1.9.5アプリケーションに<のhref = "http://www.zendcasts.com/unit-testing-with-the-zend-framework-with-zend_test-のおかげでテストを設定していますそして、PHPUnitの/ 2009/06 /」のrel = 『nofollowをnoreferrer』>このチュートリアルに、私は今、私はフォームのテストを作成したい、私のコントローラをテストすることができますよ。しかし、私は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 Frameworkでフォームをテストするための正しい方法でしょう?

役に立ちましたか?

解決

あなたの問題の最も簡単な解決策は、(...または新規Default_Formを呼び出す前に、「)するrequire_once」に自分のフォームがこのファイルの先頭に配置されたPHPファイルです。

ところで、なぜあなたはZend_Formのデフォルトの動作をテストしている具体的な理由はありますか? Zend_Formのためのテストは、既に書かれている、あなたはZFのフルバージョンをダウンロードする場合は、それらを得ることができます。使用しているフォームは、それ自身、特定のメソッドを持っている、またはそれは、それらをテストするために理にかなっているよりも、Zend_Forms方法の一部を上書きしている場合。

他のヒント

あなたのapplication.iniに見ると、「アプリケーション」へのデフォルトは、あなたのZend Frameworkのスケルトンを作成するにZend_Toolを使用している場合は、その「appnamespace」を明記の行を見てみます。

が発生し、このエラーを防止するためには、「デフォルト」か(この特定のケースでは、それはあなたが「Application_Form_AccountProfile」に「Default_Form_AccountProfileを」名前の変更を意味します)Application_ *にすべてDefault_ *クラスの名前を変更するには、この設定を変更するのいずれか。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top