У меня есть приложение, основанное на 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
Так что у меня есть пример приложения / models / Person.php
<?php class Default_Model_Person extends X1_Db_Table_Auditable {
В библиотеке / X1 / Db / Table / Auditable.php есть
<?php class X1_Db_Table_Auditable extends X1_Db_Table { ...
У меня есть другие тестовые примеры, написанные от руки, которые phpunit может запускать на этом приложении без проблем. Я также попытался указать файл bootstrap с –bootstrap и конфигурацией с –configuration, чтобы убедиться, что путь к библиотеке должен быть найден, но я не могу заставить это работать (результат такой же, как и выше). Как я могу получить этот класс библиотеки для phpunit для создания скелета?
Я довольно новичок в PHP, phpUnit и Zend, поэтому, пожалуйста, простите мои новички;) Спасибо заранее!
Вам необходимо настроить автозагрузчик, чтобы PHP мог импортировать X1 и любые другие классы при ссылках, как правило, в bootstrap.php.
require_once 'Zend/Loader/AutoLoader.php'; $autoloader = Zend_Loader_AutoLoader::getInstance(); $autoloader->registerNamespace('X1_');