Test::Harness

Данный документ является частичным переводом http://search.cpan.org/~andya/Test-Harness-3.12/lib/Test/Harness.pm

  1. Синтаксис
  2. Экспорт
  3. Функции Test::Harness
    1. runtests( @test_files )
    2. execute_tests( tests => \@test_files, out => \*FH )
  4. Переменные окружения, которые устанавливает TEST::HARNESS
  5. Переменные окружения, которые влияют на работу TEST::HARNESS
  6. Полезные ссылки

Синтаксис

Функции модуля Test::Harness осуществляют запуск стандартных тестовых скриптов Perl с последующим выводом статистических отчетов. Модуль способен существенно облегчить управление большими наборами тестовых файлов.

Синтаксис

Экспорт

Для работы с функцией runtests() достаточно просто подключить модуль Test::Harness. Функция экспортируется по умолчанию.

Функция execute_tests, а так же переменные $verbose, $switches, $debug экспортируются по запросу.

Функции Test::Harness

runtests( @test_files )

Функция запускает на выполнение все перечисленные в массиве @test_files тесты. Информацию о процессе тестирования и результатах получает из данных, которые направляются тестами в STDOUT. Выводит результаты об ошибках и информацию об успешно пройденных тестах в общем отчете. В случае успешного завершения всех тестов, возвращает true. В противном случае, завершает работу и возвращает диагностическое сообщение.

Пример использования:

Вывод результатов работы функции:

execute_tests( tests => \@test_files, out => \*FH )

Подобно runtests(), функция execute_tests запускает на выполнение все заданные в массиве @test_files тесты, но при этом не генерирует общий итоговый отчет. В процессе тестирования, вся информация выводится по указанному пути (по-умолчанию, в STDOUT).

Пример:

Вывод:

Кроме общего вывода, функция execute_tests возвращает список из двух значений $total и $failed. $total - это ссылка на хэш, который содержит суммарную информацию о всех пройденных тестах. Его стандартные ключи и значения:

$failed - это ссылка на хэш, который содержит информацию о тестах, которые при прохождении потерпели неудачу. Ключами хэша являются названия файлов тестов, а значения - информация о причинах неудачного тестирования.

Пример использования переменных $total и $failed:

Вывод:

Переменные окружения, которые устанавливает TEST::HARNESS

Данные переменные Test::Harness устанавливает перед запуском тестов на выполнение.

  • HARNESS_ACTIVE - Принимает истинное (true) значение. Переменная позволяет тестам определить, запущены они на выполнение с помощью Test::Harness, или каким-либо другим способом.
  • HARNESS_VERSION - Номер версии модуля Test::Harness.

Переменные окружения, которые влияют на работу TEST::HARNESS

  • HARNESS_TIMER - присвоение этой переменной истинного значения (true), будет служить Test::Harness указанием выводить для каждого теста количество миллисекунд, в течение которых он выполнялся.
  • HARNESS_VERBOSE - если переменной задано истинное (true) значение, Test::Harness будет выводить отчеты с большими текстами описаний. Для установки значений можно использовать переменную $Test::Harness::verbose. Значение $Test::Harness::verbose является приоритетным.
  • HARNESS_OPTIONS - дополнительные параметры. В настоящее время поддерживаются опции:
    • j<n> - запуск <n> (по умолчанию 9) параллельных процессов.
    • f - использование fork.

Разделение нескольких параметров производится с помощью двоеточия.

Полезные ссылки

RU

Тестирование с помощью Libtap. Stig Brautaset, перевод Владимир Куксенок

EN

Building Testing Libraries

Test::More. By Michael G Schwern. Copyright 2001-2002, 2004-2006