Phpunit骨架生成器找不到扩展类

Ros*_*all 2 php phpunit unit-testing zend-framework

我有一个基于Zend Framework的应用程序,我试图使用phpunit为测试用例生成骨架.Phpunit似乎无法找到我要为其生成的类的父类:

phpunit --skeleton-test Default_Model_Person ../application/models/Person.php 
PHPUnit 3.5.11 by Sebastian Bergmann.

PHP Fatal error:  Class 'X1_Db_Table_Auditable' not found in /path/to/application/models/Person.php on line 3

Fatal error: Class 'X1_Db_Table_Auditable' not found in /path/to/application/models/Person.php on line 3
Run Code Online (Sandbox Code Playgroud)

所以我有例如application/models/Person.php

 <?php

class Default_Model_Person extends X1_Db_Table_Auditable
{       
Run Code Online (Sandbox Code Playgroud)

在library/X1/Db/Table/Auditable.php中

<?php

class X1_Db_Table_Auditable extends X1_Db_Table
{

...
Run Code Online (Sandbox Code Playgroud)

我有其他手工编写的测试用例,phpunit可以在这个应用程序上运行而没有问题.我也尝试使用--bootstrap指定bootstrap文件,使用--configuration指定config以确保找到库的路径,但我似乎无法使其工作(结果与以上).如何让phpunit找到这个库类来生成骨架?

我是PHP,phpUnit和Zend的新手,所以请原谅我的初学者问题;)在此先感谢!

Dav*_*ess 5

您需要设置一个自动加载器,以允许PHP在引用时导入X1和任何其他类,通常在bootstrap.php中.

require_once 'Zend/Loader/AutoLoader.php';
$autoloader = Zend_Loader_AutoLoader::getInstance();
$autoloader->registerNamespace('X1_');
Run Code Online (Sandbox Code Playgroud)