Odinトラックでのテスト

ExercismでOdinの演習をテストする方法を学びます


Odinの演習を実行するには、Exercismのプロジェクトディレクトリ内で演習のディレクトリに移動し、odin test .を実行します。

cd "$(exercism workspace)"/odin/leap
odin test .

言語チェックを有効にする

テストをしている間、Odinはコードを「vet」できます。使われていないインポートや変数などを見つけてくれるのです。

テストを実行するには、次のようにします。

odin test . -vet

さらにチェックを増やしたい場合は、-strict-styleオプションを追加します。

テスト駆動開発(TDD)

odin testは、@(test)属性を持つ各プロシージャを実行します。

テストスイートを見ると、どのテストプロシージャにもこの属性が付いていることに気づくでしょう。つまり、テストを起動すると、すべてのテストプロシージャが実行されるというわけです。

Exercismでは一般にテスト駆動開発を推奨しています。テスト駆動開発では、次のように進めます。

  • 最初は、最初のテスト以外はすべてスキップされるように設定されています。
  • 最初のテストに通る分だけのコードを書きます。
  • 次に、次のテストを有効にして、それに通る分だけのコードを書きます。
  • すべてのテストに通るまで、これを繰り返します。

メンテナーは、テストの一部だけを実行するエレガントなプログラム上の方法を見つけられませんでした。テストファイルが単に扱いにくくなりすぎてしまったのです。 TDDで開発したい場合は、テストファイルを編集して、まだ実行する準備ができていないテストをコメントアウトし、解答を書きながら1つずつコメントを外していくことができます。

参考資料

詳しくは、Odinのテストランナーのドキュメントと、odin test -helpを参照してください。