Testar no percurso de Raku

Aprende a testar os teus exercícios de Raku no Exercism


Correr todos os testes

Existe um script Raku com a extensão .rakutest, que será usado para testar a tua solução. Podes correr os testes usando o comando:

prove6

Antes de começares o exercício, a saída será provavelmente algo como:

# Failed test 'Say Hi!'
# at t/hello-world.rakutest line 6
# expected: "Hello, World!"
#  matcher: 'infix:<eq>'
#      got: "Goodbye, Mars!"
# You failed 1 test of 1
t/hello-world.rakutest ... Dubious, test returned 1
Failed 1/1 subtests

Vais ter de alterar o módulo com a extensão .rakumod, que está no diretório lib/, e escrever uma solução que passe nos testes. Depois de os testes passarem, a saída do comando acima será provavelmente algo como:

t/hello-world.rakutest ... ok
All tests successful.

Parar após a primeira falha

Se tiveres a variável de ambiente RAKU_TEST_DIE_ON_FAIL definida, o test runner para após a primeira falha. Por exemplo:

No Linux / OS X:

export RAKU_TEST_DIE_ON_FAIL=1
# now all the follow up runs will stop at the first failure
prove6
# until we do
unset RAKU_TEST_DIE_ON_FAIL
# or you can use it for one run like this:
RAKU_TEST_DIE_ON_FAIL=1 prove6

Ou no Windows:

SET RAKU_TEST_DIE_ON_FAIL=1
REM now all the follow up runs will stop at the first failure
prove6
REM until we do
set RAKU_TEST_DIE_ON_FAIL=

Para mais informações, consulta o capítulo sobre testes da documentação do Raku.

Resolução de problemas

===SORRY!===
Could not find JSON::Fast

Todos os módulos usados no percurso de Raku vêm incluídos com o Rakudo Star. Se, ao tentares correr um teste, receberes uma mensagem de erro como a de cima, tens de garantir que tens a distribuição mais recente do Rakudo Star ou de instalar o módulo tu próprio com um gestor de pacotes. Consulta a documentação do Raku sobre módulos para saberes como instalar módulos.