Проблема
Чтобы улучшить качество кода, я решил попробовать узнать, как тестировать свой код с помощью Unit Testing вместо моих посредственных лучших решений для тестирования.
Я решил установить PHPUnit, используя композитор для личной библиотеки, что позволяет мне выполнять общие функции базы данных. Сначала у меня не было файла конфигурации для PHPUnit, и когда я запускал команды вроде:
$ phpunit tests/GeneralStringFunctions/GeneralStringFunctionsTest
Обратите внимание, что это команда терминала, поэтому я не добавил расширение .php
. Вышеупомянутый GeneralStringFunctionsTest фактически является файлом GeneralStringFunctionsTest.php
.
Результат - это то, что я ожидал:
Время: 31 мс, Память: 2.75Mb
ОК (1 тест, 1 утверждение)
Затем я попытался использовать файл конфигурации для автоматической загрузки набора тестов вместо того, чтобы каждый раз вручную вводить файл. Я создал файл под именем phpunit.xml
в корневом каталоге и ввел в него файл: http://pastebin.com/0j0L4WBD:
<?xml version = "1.0" encoding="UTF-8" ?>
<phpunit>
<testsuites>
<testsuite name="Tests">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>
Теперь, когда я запускаю команду:
phpunit
Я получаю следующий вывод:
PHPUnit 4.5.0 от Себастьяна Бергмана и авторов.
Конфигурация, прочитанная из /Users/muyiwa/Projects/DatabaseHelper/phpunit.xml
Время: 16 мс, Память: 1.50Mb
Никаких тестов не выполнено!
В случае, если это полезно, моя структура каталогов выглядит следующим образом:
src - Каталог верхнего уровня (со всем исходным кодом)
tests - Каталог верхнего уровня (со всеми моими тестами, структурированными так же, как и папка src)
поставщик - файлы сторонних производителей Composer
У меня также есть композитор json и файл блокировки, а также файл phpunit xml на верхнем уровне в виде файлов.
Вещи, которые я пробовал
- Изменение каталога в
phpunit.xml
наtests/GeneralStringFunctions
- Изменение каталога в
phpunit.xml
на./tests
- Перемещение файла
phpunit.xml
в каталогtests
, а затем изменение каталога./
вместоtests
. - Добавление атрибута суффикса в тег каталога в
phpunit.xml
, чтобы указать "Тесты" как явный суффикс.