یاد بگیرید چطور تمرینهای ReScript خود را در Exercism تست کنید
برای دانلود تمرینی که میخواهید روی آن کار کنید، از Exercism CLI استفاده کنید.
exercism download --track=rescript --exercise=hello-world
سپس وارد پوشهی تمرین شوید.
cd /path/to/exercism/rescript/hello-world
پیش از اجرای testها، وابستگیهای تمرین را نصب کنید.
npm install
مجموعهی test ارائهشده را با exercism test یا npm run test کامپایل و اجرا کنید.
test runner هر اجرای test را با وضعیت موفق یا ناموفق نشان میدهد.
1/3: no name given
PASS - no name given
2/3: a name given
FAIL - a name given
---
operator: equal
left: One for you, one for me.
right: One for Alice, one for me.
...
3/3: another name given
FAIL - another name given
---
operator: equal
left: One for you, one for me.
right: One for Bob, one for me.
...
# Ran 3 tests (3 assertions)
# 1 passed
# 2 failed
left چیزی است که code شما برگردانده است. right چیزی است که test انتظار داشته است.
two-fer/
├── src/
│ ├── TwoFer.res // your solution goes here
│ └── TwoFer.resi // the optional interface file containing signatures
├── tests/
│ └── TwoFer_test.res // your test suite
├── package.json // used to install project dependencies
└── ...
TwoFer.resi در اینجا یک فایل رابط اختیاری است.
وقتی وجود داشته باشد، امضاهای تابعی را تعریف میکند که راهحل شما باید آنها را برآورده کند و میتواند راهنمایی باشد برای اینکه چه چیزی را پیادهسازی کنید.
برای نمونه، اگر فایل رابط این را اعلام کند:
let hello: unit => string
پیادهسازی شما باید این را تعریف کند:
let hello = () => "Hello, World!"
اگر code شما کامپایل نشود، کامپایلر ReScript پیامهای خطای مفصلی همراه با مکان دقیق و نوعهای مورد انتظار تولید میکند.
We've found a bug for you!
1 │ let x: string = 42
This has type: int
But it's expected to have type: string
You can convert int to string with Int.toString.
پیام خطا را با دقت بخوانید، چون معمولاً مستقیماً به مشکل اشاره میکند.