Дізнайтеся, як тестувати свої вправи з ReScript на Exercism
Скористайтеся Exercism CLI, щоб завантажити вправу, над якою будемо працювати.
exercism download --track=rescript --exercise=hello-world
Потім перейдіть у каталог вправи.
cd /path/to/exercism/rescript/hello-world
Перш ніж запускати тести, встановіть залежності вправи.
npm install
Скомпілюйте та запустіть наданий набір тестів за допомогою exercism test або npm run 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 - це те, що повертає наш код. right - це те, чого очікує тест.
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!"
Якщо наш код не компілюється, компілятор 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.
Уважно прочитайте повідомлення про помилку, адже воно зазвичай указує прямо на проблему.