Настройка phpunit, SeleniumTest для YiiFramework на примере Ubuntu 12.04

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.


Тест отработал.
Желаю всем красивых и понятных кодов.
Не забываем смотреть статистику:

Яндекс цитирования