ExercismでRustの演習をテストする方法を学びます
コードはsrc/lib.rsに書きます。
演習にはsrc/lib.rsにスタブファイルが用意されていて、これから書く必要のあるコードのシグネチャを確認できます。
ほとんどの演習では、コードはすべてsrc/lib.rsというファイルに書くのがよいでしょう。
解答を複数のファイルに分けたい場合は、Rustの本のモジュールの章を参照してください。
テストを実行するには、次のコマンドを実行するだけです。
$ cargo test
デフォルトでは、最初のテストだけが有効になっています。
次のテストに合格する準備ができたら、次のテストからignoreフラグ(#[ignore])を外します。
好みに応じて、すべてのテストから一度にフラグを外してもかまいません。
テストに合格するために、できるだけ少ないコードを書いてかまいません。 テストの失敗が、次に何を書くべきかを教えてくれます。
Rustはコンパイル時にすべてのコードをチェックするので、必要なコードを書くまでテストがコンパイルできないことがあります。
ignoreされたテストもコンパイル時にチェックされます。
コンパイルできないテストは、各行の先頭に//を付けてコメントアウトできます。
そして、そのテストに取り組む準備ができたら、コメントを外します。
Rustにはtodo!()という特別なマクロもあり、未完成のコードパスに使うとプログラムをコンパイルできるようにできます。
ほとんどの演習は、外部ライブラリを使わずに解けるはずです。
それでも、演習のディレクトリでcargo add crate-nameを実行すれば、ライブラリ(Rustコミュニティではクレートと呼びます)を追加できます。
ウェブサイト上の自動テストが対応しているのは、あらかじめ決められたクレートのセットだけです。その一覧はこちらの[dependencies]セクションにあります。
特定のクレートのサポートを追加してほしい場合は、気軽にissueやpull requestを送ってください。