У меня проблемы с настройкой модульного тестирования в Kohana 3.2.
Я установил PHPUnit. Я изменил загрузчик, чтобы активировать модуль юнит-тестов Коханы. Я также изменил файл index.php, чтобы он выглядел так:
if ( ! defined('SUPPRESS_REQUEST'))
{
echo Request::factory()
->execute()
->send_headers()
->body();
}
Я создал папку test в папке своего приложения. В него я вставил файл phpunit.xml, который выглядит следующим образом:
<phpunit colors="true" bootstrap="../../index.php">
<testsuites>
<testsuite name="Kohana Tests">
<directory>./</directory>
</testsuite>
</testsuites>
У меня две проблемы (первая - та, на которую мне действительно нужен ответ):
1- Когда я захожу в тесты из командной строки и пытаюсь запустить phpunit, кажется, что SUPPRESS_REQUEST никогда не устанавливается в true. Запрос выполнен, и поэтому тесты не выполняются. Единственный способ успешно выполнить тесты - это мгновенно закомментировать всю строку Request :: factory () в index.php. Кто-нибудь знает, как обойти эту проблему? Если мне нужно добавить определение («SUPPRESS_REQUEST», true) где-нибудь, где я должен это сделать? Я новичок в Kohana и PHPUnit.
2 - PHPUnit жалуется, что переменная REMOTE_ADDR не установлена.
PHP Notice: Undefined index: REMOTE_ADDR in
/Users/**/Sites/root/application/bootstrap.php on line 76
На самом деле это пока не большая проблема, поскольку тесты, кажется, все еще выполняются, несмотря на это, но мне интересно, знает ли кто-нибудь, стоит ли мне устанавливать эту переменную где-то по-особенному.