$this->UnitTestCase();
function ConfigurationTest() {
class ConfigurationTest extends UnitTestCase {
require_once(SIMPLE_TEST . 'reporter.php');
require_once(SIMPLE_TEST . 'unit_tester.php');
('SIMPLE_TEST', 'simpletest/');
Для запуска автоматизированных тестов нам потребуется фреймоворк для модульного тестирования SimpleTest, а также вот такой простейший скрипт:
Так напишем же тест »
«Следует ли нам для этого написать класс? Если ваш ответ да, то я поспешу вас шлепнуть по рукам. Мы всегда вначале пишем тест и мы прислушиваемся к тесту для ответа на вопрос, нужен нам класс или нет. Управляя процессом разработки при помощи тестов, мы точно знаем, что не слишком увлекаемся дизайном системы.
Он состоит из констант, разделенных пробелами от своих значений. Для многих проектов это более чем достаточно.
a_file /var/stuff
Предположим, нам требуется написать наипростейший парсер файлов конфигурации вида:
Эта оболочка настолько элегантна, что она была портированна практически на все ОО языки, включая и PHP(SimpleTest, PHPUnit).
Кент Бек совместно с Эрихом Гамма разработали программный пакет тестирования JUnit. Тесты в среде JUnit организуются как в тестовые прецеденты(test cases), которые на самом деле являются потомками базового тестового класса, и результатом работы которых является красная или зеленая полоса. Тестовые классы могут быть с легкостью сгруппированы вместе в тестовые наборы(test suites), для этого существует гибкая для расширения инфрастуктура. Тесты легко писать, т.к вы тестируете на том языке, на котором пишете основную программу, в данном случае это Java.
Тесты должны выполняться быстро. Не только в плане времени, но и в отношении точности определения успешности или неудачи их выполнения. Вывод результатов тестирования при помощи print функции здесь не подойдет. Только разработчику известно, какой результат верный, а гадание на нескольких страницах выходного текста утомительное занятие.
На самом деле написание тестов нетривиальная задача, для того, чтобы тесты работали как исправный механизм, требуется их автоматизировать. Вам придется прогонять тесты снова и снова не только во время написания тестов для определенного кода, но также и при написании других частей кода, для того чтобы убедиться, что ничего не было сломано. Такой подход называется регрессионным тестированием: всякий раз, когда вы изменяете некоторый код, вы прогоняете весь набор тестов для всего приложения.
(по материалам статьи , by Marcus Baker)
Вы находитесь здесь: » »
Вы посетили: »
Написание модульных тестов на PHP при помощи SimpleTest [Agile DokuWiki]
Комментариев нет:
Отправить комментарий