Тестування на треку Raku

Дізнайтеся, як тестувати свої вправи з Raku на Exercism


Запуск усіх тестів

Є скрипт Raku з розширенням .rakutest, який використовується для тестування рішення. Запустити тести можна командою:

prove6

Перш ніж ми почнемо вправу, вихідні дані, ймовірно, матимуть приблизно такий вигляд:

# Failed test 'Say Hi!'
# at t/hello-world.rakutest line 6
# expected: "Hello, World!"
#  matcher: 'infix:<eq>'
#      got: "Goodbye, Mars!"
# You failed 1 test of 1
t/hello-world.rakutest ... Dubious, test returned 1
Failed 1/1 subtests

Потрібно змінити модуль із розширенням .rakumod, що лежить у каталозі lib/, і написати рішення, щоб пройти тести. Коли тести проходитимуть успішно, вихідні дані наведеної вище команди, ймовірно, матимуть приблизно такий вигляд:

t/hello-world.rakutest ... ok
All tests successful.

Зупинка після першої невдачі

Якщо змінна середовища RAKU_TEST_DIE_ON_FAIL встановлена, запуск тестів зупиниться після першої невдачі. Наприклад:

У Linux / OS X:

export RAKU_TEST_DIE_ON_FAIL=1
# now all the follow up runs will stop at the first failure
prove6
# until we do
unset RAKU_TEST_DIE_ON_FAIL
# or you can use it for one run like this:
RAKU_TEST_DIE_ON_FAIL=1 prove6

Або у Windows:

SET RAKU_TEST_DIE_ON_FAIL=1
REM now all the follow up runs will stop at the first failure
prove6
REM until we do
set RAKU_TEST_DIE_ON_FAIL=

Докладніше див. у розділі про тестування в документації Raku.

Розвʼязання проблем

===SORRY!===
Could not find JSON::Fast

Усі модулі, які використовуються в треку Raku, входять до складу Rakudo Star. Якщо під час спроби запустити тест ми отримаємо повідомлення про помилку, подібне до наведеного вище, потрібно або переконатися, що встановлено найновіший дистрибутив Rakudo Star, або встановити модуль самостійно за допомогою менеджера пакетів. Про те, як встановлювати модулі, див. у документації Raku щодо модулів.