私は過去2日間経験した問題に対してほとんど苦労していません。 実際に私はきちんとテストを実行し、受信することはできません。Zend Framework + PHPUnit + Netbeans
PHP Fatal error: Call to undefined function Zend_Application() in C:\xxxxxx\tests\application\controllers\IndexControllerTest.php on line 10
IndexControllerTestは非常に簡単で、次のようになります。
:テストのために一方のブートストラップでrequire_once 'Zend/Test/PHPUnit/ControllerTestCase.php';
class IndexControllerTest extends Zend_Test_PHPUnit_ControllerTestCase
{
public function setUp()
{
$this->bootstrap = Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini');
parent::setUp();
}
public function appBootstrap() {
$this->application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini');
$this->application->bootstrap();
}
...
のみ次のコードが含まれています
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application')); // /../application
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'testing'));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
get_include_path(),
)));
require_once 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance();
問題を見つけるのを手伝ってもらえますか?私はミニプロジェクトの品質を向上させたいと思っています。テストは開始できませんが、不可能です。
ありがとうございます。
私は私のプロジェクトのためのディレクトリ構造を追加しました。私はzendライブラリをSource Files/library/Zendに置いています。
こんにちは、ありがとうございます。残念ながら私は再び失敗しました。あなたがsetUp()で提示した方法でコードを修正しました。私は同じエラー( " PHP致命的なエラー:クラス 'Zend_Application'が見つかりませんでした)と同じですが、今回はappBootstrap()でエラーが発生しました。私は、品質向上のために単体テストでプロジェクトを始めたいと思うので、追加のヒントを求めてもいいでしょう。 – Lormitto
PHPがロードするクラスを見つけられないことを意味します。あなたのZend_Applicationへのパスが正しいか再度確認してください。ファイルは '../ library/Zend/Application.php'の下にある必要があります – Sam
こんにちはサム、ディレクトリ構造で上記の画像を追加しました。私はZendのlibsをtestsフォルダに配置しようとしました。しかし、それは助けにはならなかったし、私はまだここでどこか愚かな間違いをしているかもしれない。 – Lormitto