2012-03-09 5 views
5

Я просмотрел похожие проблемы на SO, но безуспешно. Я запускаю PHP 5.3.6 и phpunit версии 3.6.10. При попытке выполнить простой тест:PHPUnit не удалось открыть необходимый файл

require_once 'PHPUnit/Framework.php'; 

class UserTest extends PHPUnit_Framework_TestCase { 
} 

Я получаю следующее сообщение об ошибке:

PHP Fatal error: require_once(): Failed opening required 'PHPUnit/Framework.php' 
(include_path='.:/Users/username/pear/share/pear:/usr/lib/php/pear/:/Users/username/pear/share/pear/PHPUnit') in ... 

При переустановке PHPUnit, я не уверен, если установить местоположение дублируется, но он появляется, что при запуске which phpunit, путь: /usr/bin/phpunit. Однако он также устанавливается в /Users/user/pear/bin/phpunit. Я пробовал обновлять все каналы и переустанавливать PEAR и PHPUnit, но проблема все еще существует. Я работаю на OSX Lion. Любая помощь будет принята с благодарностью.

+0

Вы сделали опечатку: '' PHPUit/Framework.php'' - отсутствует 'n'. – hakre

+0

Перед повторной установкой PEAR я сначала * прочитал бы сообщение об ошибке. Это говорит вам, что пошло не так. Я также сказал вам в комментарии выше. – hakre

+1

@hakre - извините, это была опечатка, в которой я печатал ошибку (в отличие от копирования и вставки). Ошибка заключается в том, что PHPUnit больше не требует от вас явно требовать класс Framework. Я как-то читал старую документацию, и я был в замешательстве, почему она не работает. Спасибо за вашу помощь. – naivedeveloper

ответ

15

Просто удалите строку

require_once 'PHPUnit/Framework.php'; 

и все должно работать.

Вам не нужно include/require ничего, что связано с PHPUnit с (как минимум) PHPUnit 3.6, и вы не можете включить этот файл, потому что он больше не существует в дистрибутиве.

PHPUnit бегун будет заботиться о развернув все, что нужно по PHPUnit :)

+2

Спасибо, вот что я сейчас вижу. Как-то, по-видимому, я наткнулся на какую-то старую документацию или что-то на сайте PHPUnit, потому что это требовал этого файла. Спасибо за вашу помощь. – naivedeveloper

+0

Hahahahaa. Это отличный ответ. После того, как я потратил час, чтобы исправить эту проблему =) +1 =)) –

1

Как другие отметили, Framework.php не требуется больше.

Но в любом случае, если у вас уже слишком много тестовых файлов, написанных и имеющих предложение include, то их установка будет громоздкой задачей. В этом случае мне пришлось столкнуться.

Если требуется быстрое обходное решение, создайте пустой файл Framework.php. Это решит проблему. Создайте пустой файл с именем Framework.php в вашем каталоге PHPUnit. (например: at: /usr/share/php/PHPUnit/Framework.php).

sudo touch /usr/share/php/PHPUnit/Framework.php

Смежные вопросы