یاد بگیرید چطور تمرینهای Raku خود را در Exercism تست کنید.
یک اسکریپت 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 دربارهی ماژولها را ببینید.