Тестування програм Perl для початківців. Test:: Simple

Test::Simple - це базовий, дуже простий модуль, який використовується для написання тестів.

Додаток дає можливість використовувати для тестування всього одну функцію - ok (). Якщо можливості цієї функції недостатньо, рекомендується використовувати Test::More. Тести, написані за допомогою Test::Simple повністю сумісні з Test::More.

Висновок результатів тестування проводиться у форматі TAP (Test Anything Protocol).

З'єднання Test::Simple

При з'єднанні Test::Simple слід заздалегідь повідомляти програмі скільки тестів планується виконати:

use Test::Simple tests => 23;

Під кількістю тестів мається на увазі те, скільки буде запущено спеціальних тестуючих функцій під час виконання програми.

Наприклад, скільки разів буде запущено функцію ок ().

Якщо вказане число і число реально виконаних тестів не буде збігатися, користувачеві буде виведено помилку.

Приклад (Виконання одного тесту в програмі, при заздалегідь заданих 2х):

#!/usr/bin/perl

use Test::Simple tests => 2;

ok(1+1 == 2,'1+1=2');

Висновок результатів тестування:

%perl test_simple.pl

1..2

ok 1 — 1+1=2

# Looks like you planned 2 tests but only ran 1.

%

Під час запуску тестуючої програми Test::Simple виводить рядок формату "1... М ", де М - це число тестів, яке передбачається виконати в процесі тестування.

ок ()

ок () - основна і єдина тестуюча функція, що надається Test::Simple. Дозволяє перевірити успішність виконання Вашої програми, функції, частини програмного коду.

Синтаксис ok ():

ok( $test_var eq $ok_value, 'test_var eq ok_value' );

Функція обробляє переданий їй умовний вираз. Якщо результат обробки позитивний (true), тест вважатиметься пройденим. Залежно від результату, функція виведе повідомлення «ok» або «not ok» з порядковим номером тесту.

Як другий аргумент функції, можна вказувати короткий опис проведених тестів. При виведенні результатів тестування, зазначений опис буде виводитися в один рядок з результатами виконання конкретного тесту.

Приклад:

#!/usr/bin/perl

use Test::Simple tests => 1;

ok(1+1 == 2,'Summation 1+1');

Вивід програми:

%perl test_simple.pl

1..1

ok 1 — Summation 1+1

Використання подібних коротких описів полегшує завдання пошуку потрібних рядків у програмному коді та внесення виправлень. Крім того, описи корисні при розробці та використанні тестів у команді.

logo