Курс языка программирования 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 тест по содержанию этой темы.
Навигация по курсу
← Тестирование | Тест — Тестирование →
💪 Или перейдите сразу к упражнениям этого
раздела.