Тест масла вызывает неперехваченное исключение

Несколько дней я блуждаю по джунглям команды php oil test.

Я установил phpunit через грушу в windows7. После установки, когда я выполняю команду php oil test, возникает следующая ошибка.

› тест масла php

Неперехваченное исключение Oil\Exception: PHPUnit не установлен.

Однако похоже, что phpunit установлен правильно, потому что команда phpunit --version работает нормально (см. ниже).

›phpunit --версия

PHPUnit 4.0.14 Себастьяна Бергманна.

Конечно, команда pear list показывает пакет PHPUnit.

›грушевый список

УСТАНОВЛЕННЫЕ ПАКЕТЫ, КАНАЛ PEAR.PHPUNIT.DE:

ВЕРСИЯ ПАКЕТА СОСТОЯНИЕ File_Iterator 1.2.3 стабильная

PHPUnit 4.0.14 стабильный

PHPUnit_SkeletonGenerator 1.2.1 стабильный

PHP_CodeCoverage 1.0.2 стабильный

PHP_Timer 1.0.0 стабильный

PHP_TokenStream 1.2.2 стабильный

Text_Template 1.2.0 стабильная

Я пробовал каким-то образом перечислить следующую страницу, но все еще не могу решить.

Установка PHPUnit через PEAR

Может ли кто-нибудь дать совет по запуску команды php oil test без ошибки?

Любые советы приветствуются!!


добавить мой код.

  • /топливо/ядро/классы/testcase.php

пространство имен Топливо\Ядро;

класс TestCase расширяет \PHPUnit_Framework_TestCase { }

  • /топливо/приложение/тесты/controller_testcase.php

использовать Топливо\Ядро\Журнал;

использовать Топливо\Ядро\DBUTil;

использовать Топливо\Ядро\БД;

используйте топливо\ядро\тесткейс;

использовать Топливо\Ядро\Конфигурация;

используйте Топливо\Ядро\Запрос;

класс ControllerTestCase расширяет TestCase {

общедоступная функция setUp() {

..

php установлен C:\php, а также pear.bat и phpunit.bat. Папка PHPUnit не существует в папке C:\php\pear.


person user2512088    schedule 09.04.2014    source источник
comment
вы уверены, что он включен в ваш путь?   -  person mamdouh alramadan    schedule 09.04.2014
comment
Спасибо за информацию. Но phpunit был включен в мой системный путь env :-( У вас есть другие идеи?   -  person user2512088    schedule 09.04.2014
comment
Извините за путаницу, я имел в виду, включен ли он в ваш код, включен ли в ваш код phpunit_framework_testcase?   -  person mamdouh alramadan    schedule 09.04.2014
comment
хорошо.. я все еще в джунглях. Похоже, класс ./fule/core/TestCase расширяет класс PHPUnit_Framework_TestCase. И мой код расширяет класс TestCase. Так что я думаю, что на данный момент проблем нет. Однако класс PHPUnit_Framework_TestCase нигде не существует на моем компьютере. И PHPUnit/Autoload.php тоже не существует. Итак, я попытался снова переустановить phpunit через pear, но команда php oil test по-прежнему не работает: - ‹ Как вы думаете, что не так?   -  person user2512088    schedule 10.04.2014
comment
Пожалуйста, обновите свой вопрос с вашим кодом   -  person mamdouh alramadan    schedule 10.04.2014
comment
обновить вопрос. Можете ли вы взглянуть на?   -  person user2512088    schedule 10.04.2014
comment
mamdouh, я, наконец, решил эту проблему. Похоже, версия Fuelphp и версия phpunit несовместимы. Когда я устанавливаю phpunit 3.7.12 вместо 4.0.11, эта проблема исчезла. Я ценю вашу поддержку. Спасибо.   -  person user2512088    schedule 11.04.2014
comment
Вы можете ответить на свой вопрос и принять его через два дня. Это может помочь кому-то еще :-)   -  person mamdouh alramadan    schedule 11.04.2014


Ответы (1)


Oil использует ключ конфигурации «oil.phpunit.autoload_path», чтобы найти местоположение автозагрузчика PHPUnit, и, если он не определен, он использует «PHPUnit/Autoload.php» в сочетании с определенными путями включения PHP.

Затем он пытается включить этот файл и проверяет, доступен ли класс «PHPUnit_Framework_TestCase». Если нет, он выходит из строя с сообщением об ошибке, которое вы видите.

Это не имеет ничего общего с бинарным файлом PHPUnit, который находится по указанному пути.

Это просто означает, что расположение, в котором установлен PHPunit, отсутствует в путях поиска PHP, и пользовательский путь не настроен.

person WanWizard    schedule 12.07.2014