test-unit使ってみたいな
test-unit試してみたいけど、minitestやrspecみたいにbundlerで簡単にテストする手順がよくわからないな、、、初めて使うには敷居が高いぞ。
と思ってこんなドキュメントがあるといいのに、、とメンテナの須藤さんに相談したら
@hiroysato よさそうなのでQiitaなんかじゃなくて公式ドキュメントに入れるのがいいんじゃないかと思いました!doc/text/getting-started.mdとかはどうですかねぃ!
— す (@ktou) 2017年3月11日
というコメントをいただいたので、作りました。
- test-unitはじめの一歩 (日本語版)
- First step of the test-unit (英語版)
ドキュメントの基本方針は、rake test
ってやれば全部のテストを実行してくれる簡易機能の説明です。
須藤さんにはrakeを利用することについて、次のコメントをいただいています。
パラメータ渡しなどをしたくなったらオフィシャルのドキュメントを読んで設定をしてください。
@hiroysato 自分が作っているライブラリーのtest/run-test.rbをベースに調整しています。Rakefileは単にtest/run-test.rbを呼び出すのがよいと思います。Rakeでテストを実行するのはパラメーターを渡しにくいので使い勝手はよくないですよ。
— す (@ktou) 2017年3月8日
test-unitのいいところ(公式ドキュメントより)
Ruby 1.8に標準添付されていた頃と比べると以下のような機能が追加されています。
- テストが失敗したときに期待値と実測値のdiffを表示して違いをわかりやすく表示する機能
- テストの実行結果を色付けして見やすく表示する機能
- 環境依存のテストなど、必要のないテストを動的に判断して省略する機能
- 複数のsetupとteardownを設定する機能
- テスト毎ではなく、テストケース毎にテスト環境準備・後始末処理を呼び出す機能
- テストに属性を設定する機能
- テストの実行時間が長くなり、テストを実行する気がなくなってしまうことを防ぐために、うまい具合に実行するテスト数を間引いてテストの実行時間を削減する機能
参考
- 公式ドキュメント
-
The history of testing framework in Ruby
- RubyKaigi 2015のスライド
- Rubyのテスティングフレームワークの歴史(2014年版)