1. Постановка задачи:
Запустить простейший тест для проекта на YiiFramework под Ubuntu 12.04
2. Основной вопрос:
Ошибка при запуске теста:
PHP Warning: require_once(PHPUnit/Extensions/SeleniumTestCase.php): failed to open stream: No such file or directory
Завязка
Для начинающего разбираться в agile, scrum, phpunit, selenium и прочей современщине предлагается очень много информации, но при этом этот же начинающий сталкивается с банальными вопросами при администрировании и настройке этих самых элементов.
Прочитав огромное количество хлама в сети, пролистав документацию так и не смог запустить простейшего теста на Ubuntu. Все как всегда умничают и ходят вокруг да около.
Кульминация
Для YiiF в
/protected/tests/unit
добавляем тест со следующим содержанием:
require_once 'PHPUnit/Framework.php';
class ExceptionTest extends PHPUnit_Framework_TestCase
{
public function testException()
{
$this->setExpectedException('InvalidArgumentException');
}
}
Назовем файл — ExampleTest.php
Чтобы запустить тест переходим в папку c тестами:
cd /<yourwwwdir>/<youryiiproject>/protected/protected/tests/
Для запуска всех тестов из папки unit набираем команду:
phpunit unit/
и если вы уже каким-то образом устанавливали phpunit и/или selenium увидите или результат обработанного теста (повезло) либо кучу ошибок, от которых так всех тошнит и невразумительными ответами на которые кишит сеть.
Самый популярный вопрос, который задают все это выпадающая ошибка:
PHP Warning: require_once(PHPUnit/Extensions/SeleniumTestCase.php): failed to open stream: No such file or directory
Развязка
Ubuntu os как всегда радует.
Удаляем все, что вы «наколдовали» до этого:
sudo pear uninstall phpunit/PHPUnit_selenium
sudo pear uninstall phpunit/PHPUnit
Запускаем:
sudo pear install --alldeps phpunit/PHPUnit-3.3.17
Теперь перейдем в папку с тестами и попробуем еще раз:
#cd /<yourwwwdir>/<youryiiproject>/protected/protected/tests/
#phpunit unit/
О, счастье! В терминале должно появиться:
PHPUnit 3.3.17 by Sebastian Bergmann.
F
Time: 0 seconds
There was 1 failure:
1) testException(ExceptionTest)
Expected exception InvalidArgumentException
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
Тест отработал.
Желаю всем красивых и понятных кодов.