Aprenda a testar seus exercícios de ReScript no Exercism
Use a CLI do Exercism para baixar o exercício em que você quer trabalhar.
exercism download --track=rescript --exercise=hello-world
Depois, entre no diretório do exercício.
cd /path/to/exercism/rescript/hello-world
Antes de rodar os testes, instale as dependências do exercício.
npm install
Compile e rode a suíte de testes fornecida usando exercism test ou npm run test.
O executor de testes mostra cada teste executado com um status de aprovação ou falha.
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 é o que seu código retornou. right é o que o teste esperava.
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
└── ...
O TwoFer.resi aqui é um arquivo de interface opcional.
Quando ele está presente, define as assinaturas de função que sua solução precisa satisfazer e pode servir como dica do que implementar.
Por exemplo, se a interface declara:
let hello: unit => string
Sua implementação deve definir:
let hello = () => "Hello, World!"
Se seu código não compila, o compilador do ReScript produz mensagens de erro detalhadas com a localização exata e os tipos esperados.
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.
Leia a mensagem de erro com atenção, porque ela geralmente aponta direto para o problema.