ExercismでRakuの演習をテストする方法を学びましょう。
解答をテストするために、.rakutestという拡張子のRakuスクリプトが使われます。
次のコマンドでテストを実行できます。
prove6
演習に取り組む前は、出力はおそらく次のようになります。
# 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
lib/ディレクトリにある.rakumodという拡張子のモジュールを編集して、テストに通る解答を書く必要があります。
テストに通るようになると、上のコマンドの出力はおそらく次のようになります。
t/hello-world.rakutest ... ok
All tests successful.
RAKU_TEST_DIE_ON_FAILという環境変数を設定しておくと、テストランナーは最初の失敗で停止します。たとえば次のとおりです。
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
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=
詳しくは、Rakuドキュメントのテストの章を参照してください。
===SORRY!===
Could not find JSON::Fast
Rakuトラックで使われるモジュールはすべてRakudo Starに含まれています。 テストを実行しようとしたときに上のようなエラーメッセージが出た場合は、Rakudo Starの最新のディストリビューションを使っているか確認するか、パッケージマネージャーを使って自分でモジュールをインストールする必要があります。 モジュールのインストール方法については、Rakuのモジュールに関するドキュメントを参照してください。