تست در مسیر Raku

یاد بگیرید چطور تمرین‌های Raku خود را در Exercism تست کنید.


اجرای همه‌ی testها

یک اسکریپت Raku با پسوند .rakutest وجود دارد که برای test کردن راه‌حل شما استفاده می‌شود. می‌توانید testها را با استفاده از این دستور اجرا کنید:

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

برای پاس شدن testها باید ماژولی با پسوند .rakumod را که در پوشه‌ی lib/ قرار دارد تغییر دهید و راه‌حلی بنویسید که testها را پاس کند. وقتی testها پاس شدند، خروجی دستور بالا چیزی شبیه به این خواهد بود:

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

توقف پس از اولین شکست

اگر متغیر محیطی RAKU_TEST_DIE_ON_FAIL را تنظیم کرده باشید، اجراکننده‌ی test پس از اولین شکست متوقف می‌شود. برای مثال:

در لینوکس / 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

یا در ویندوز:

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=

برای اطلاعات بیشتر، فصل «Testing» در مستندات Raku را ببینید.

عیب‌یابی

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

همه‌ی ماژول‌هایی که در مسیر Raku استفاده می‌شوند، همراه با Rakudo Star ارائه می‌شوند. اگر هنگام اجرای یک test پیام خطایی مانند پیام بالا دریافت کردید، باید یا مطمئن شوید که جدیدترین توزیع Rakudo Star را دارید، یا خودتان ماژول را با یک مدیر بسته نصب کنید. برای اطلاعات درباره‌ی نحوه‌ی نصب ماژول‌ها، مستندات Raku درباره‌ی ماژول‌ها را ببینید.