Μάθε πώς να δοκιμάζεις τις ασκήσεις σου στη 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.
Διάβασε προσεκτικά το μήνυμα σφάλματος, γιατί συνήθως δείχνει κατευθείαν στο πρόβλημα.