Курс Raku / Розширені / Тестування та документація 🆕 / Тестування 🆕

Модуль Test

Підключіть інструменти тестування через use Test. Найпростішою перевіркою є ok, яка проходить, коли її умова істинна. Кожна перевірка приймає необов’язковий опис:

use Test;

ok 1 == 1, 'one equals one';
ok 2 > 1,  'two is greater';

done-testing;

Запуск цього виводить у стандартному форматі тестів, відомому як TAP:

ok 1 - one equals one
ok 2 - two is greater
1..2

Кожну успішну перевірку повідомляють як ok із її номером і описом; невдалу було б позначено not ok. Завершальне 1..2 — це план, який каже, скільки тестів виконалося. Виклик done-testing наприкінці видає цей план автоматично.

Коли ви очікуєте конкретне значення, is зрозуміліший за ok, бо в разі невдачі повідомляє і очікуване, і фактичне значення:

use Test;

is 2 + 2, 4, 'addition works';

done-testing;

Це виводить ok 1 - addition works. Щоб побачити це повідомлення в дії, дайте is хибне очікування:

use Test;

is 2 + 2, 5, 'addition works';

done-testing;

Тепер перевірка провалюється, і вивід пояснює, як саме:

not ok 1 - addition works
# Failed test 'addition works'
# at test.raku line 3
# expected: '5'
#      got: '4'
1..1
# You failed 1 test of 1

Рядок not ok позначає невдачу, а діагностичні рядки під ним показують, що очікувалося, проти того, що насправді вийшло, — саме тому is корисніший за голий ok, коли має значення конкретне значення.

ok, is та done-testing уже достатньо, щоб написати корисний файл тестів; наступна тема додає інші порівняння.

Практика

Виконайте 1 тест за змістом цієї теми.

Навігація курсом

Тестування 🆕   |   Тест — Тестування


💪 Або перейдіть одразу до вправ цього розділу.