Apprends à tester tes exercices ReScript sur Exercism
Utilise l'Exercism CLI pour télécharger l'exercice sur lequel tu veux travailler.
exercism download --track=rescript --exercise=hello-world
Ensuite, place-toi dans le répertoire de l'exercice.
cd /path/to/exercism/rescript/hello-world
Avant de lancer les tests, installe les dépendances de l'exercice.
npm install
Compile et exécute la suite de tests fournie avec exercism test ou npm run test.
L'exécuteur de tests affiche chaque test exécuté avec un statut de réussite ou d'échec.
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 correspond à ce que ton code a renvoyé. right correspond à ce que le test attendait.
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
└── ...
Ici, TwoFer.resi est un fichier d'interface facultatif.
Lorsqu'il est présent, il définit les signatures de fonctions que ta solution doit respecter et peut te servir d'indice sur ce qu'il faut implémenter.
Par exemple, si l'interface déclare :
let hello: unit => string
Ton implémentation doit définir :
let hello = () => "Hello, World!"
Si ton code ne compile pas, le compilateur de ReScript produit des messages d'erreur détaillés avec l'emplacement exact et les types attendus.
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.
Lis attentivement le message d'erreur, car il pointe généralement directement vers le problème.