2013-05-24 3 views
1

Я использую NetBeans 7.3 с модулем PHP Unit.Модульные тесты PHP в NetBeans 7.3

Работы по созданию тестового файла. Я могу создать тестовый файл, щелкнув правой кнопкой мыши: tools-> создать модульный тест PHP. Новый тест создается в тестовой папке (filenameTest.php). Когда я запускаю тест (Ctr + F6), в окне вывода, я получаю сообщение об ошибке: он не может найти файл, который я пытаюсь проверить. Если я включу исходный файл в тестовый файл, все будет работать, и я смогу запустить тесты.

Я бы предпочел не добавлять эту строку include_once вручную в каждый файл testFile. Есть ли способ, чтобы NetBeans автоматически выполнял это для меня? Или как мне настроить файл bootstrap и/или файл phpunit.xml, поэтому он работает без включения исходного файла в тестовый файл?

Заранее спасибо.

ответ

3

В папке с тестами вы можете создать файл bootstrap.php, который регистрирует автозагрузчик для загрузки тестируемого класса. Затем вы должны иметь phpunit.xml файл со следующим:

<phpunit bootstrap="bootstrap.php"> 
</phpunit> 

Регистрация автозагрузчик будет самое простое решение, как и тогда вы не должны помнить, чтобы включить файлы или если вы или кто-то еще не используется NetBeans нет никаких проблем с созданием новых тестов.

Внутри bootstrap.php будет:

function autoloader($className) { 
    *** do logic to set path of file for the class *** 
    $classPath = "/base/path/for/file/" . $className; 
    require_once($classPath); 
} 

spl_autoload_register('autoloader'); 
+0

Schleis, спасибо за быстрый ответ. Может быть, глупый вопрос, но что я вставляю в файл Bootstrap? Нужно ли добавлять include_path к моему проекту/сайту? Спасибо. – user1261591

+0

Я бы создал своего рода автозагрузчик, детали будут зависеть от макета вашего проекта и именования классов. http://www.php.net/manual/en/function.spl-autoload-register.php – Schleis

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