CodeIgniter и SimpleTest – Как сделать свой первый тест?

Я привык к веб-разработке с использованием LAMP, PHP5, MySQL плюс NetBeans с Xdebug.

Теперь я хочу улучшить свое развитие, научившись использовать (A) правильное тестирование и (B) структуру. Поэтому я настроил CodeIgniter, SimpleTest и простую надстройку Xdebug для Firefox. Это очень весело, потому что maroonbytes предоставил мне четкие инструкции и настроенную настройку, готовую для загрузки. Я стою на плечах гигантов и очень благодарен.

Раньше я использовал SimpleTest. Вот что я написал:

<?php require_once('../simpletest/unit_tester.php'); require_once('../simpletest/reporter.php'); class TestOfMysqlTransaction extends UnitTestCase { function testDB_ViewTable() { $this->assertEqual(1,1); // a pseudo-test } } $test = new TestOfMysqlTransaction(); $test->run(new HtmlReporter()) ?> 

Поэтому я надеюсь, что знаю, как выглядит тест. Я не могу понять, где и как поставить тест в моей новой настройке. Я не вижу пробных тестов в пакете maroonbytes, и Google до сих пор привел меня к сообщениям, которые предполагают, что модульное тестирование уже функционально доступно. Что я делаю?

Редактировать:

Если вы выполняете настройку maroonbytes, просто следуйте инструкциям:

  1. Загрузите структуру SimpleTest и извлеките файлы в каталог @codeigniter.
  2. Как в основной папке, так и в папке admin / application создайте новую папку под названием tests.
  3. В новой папке тестов установите дополнительные папки под названием «модели», «виды», «контроллеры», «библиотеки» и «помощники» .

Любой файл, заканчивающийся на .php и с UnitTestCase внутри любой из этих папок, должен быть запущен. 🙂

Во-первых, тесты должны быть названы должным образом. Для тестирования приветствия контроллера, помещенного в файл welcome.php, тест называется welcome_controller_test.php и хранится в тестах / контроллерах /. Для получения дополнительной информации см. Этот пост .

Во-вторых, аргумент GET Xdebug вмешивается в тестовую процедуру. См. Пост чуть выше, также этот пост .

В-третьих, в тестовом тесте, который я разместил, необходимо удалить две четыре строки:

 //require_once('../simpletest/unit_tester.php'); //require_once('../simpletest/reporter.php'); ... //$test = new TestOfMysqlTransaction(); //$test->run(new HtmlReporter()) 

Я делаю тесты довольно счастливо. CodeIgniter позволяет мне легко создавать и поддерживать тесты, поэтому моя цель TDD выглядит достижимой. Мои предыдущие попытки TDD дали мне эту идею, но PHP-скрипт был слишком бесплодным для меня, чтобы быть эффективным (и мы не будем обсуждать VBA!).