#author("2017-10-06T16:11:12+09:00","default:wikiwriter","wikiwriter") &tag(Ruby/ユニットテスト); *目次 [#meb1c35e] #contents *参考情報 [#ac9c5830] -[[Test::Unit - Rubyリファレンスマニュアル:http://www.ruby-lang.org/ja/old-man/html/Test_Unit.html]] *テスティングフレームワークの歴史 [#d9101f45] -[[Ruby標準のテスティングフレームワークで手軽にテストコードを書く方法 - Qiita:https://qiita.com/jnchito/items/ff4f7a23addbd8dbc460]]にあるとおり、かなりややこしい。 --1.9.0以前はTest::Unitが標準 --1.9.1から2.1まではMinitestが標準 --2.2以降はMinitest 5.4.3とTest::Unit 3.0.8が標準 -Test::Unitは"test-unit"という名前が正しい?またMinitestはTest::Unit互換モードもあったりする。 -[[A Guide to Testing Rails Applications — Ruby on Rails Guides:http://guides.rubyonrails.org/testing.html]]によるとRailsはMinitestが標準。 *test-unitの使用方法 [#r783578c] -[[File: how-to — test-unit - test-unit:https://test-unit.github.io/test-unit/ja/file.how-to.html]] -[[ゲームっぽい何かを作りながらRubyを勉強する その1 〜ディレクトリ構成とかtest-unitとかRakeとか〜 - Qiita:https://qiita.com/chooyan_eng/items/c85466d0a744161a5a2e]] **テストの実行 [#bee43f38] -Rakefileを使ったり、実行用のスクリプトを作成する方法がある。 -以下のようなスクリプトを作成し、 #pre{{ base_dir = File.expand_path(File.join(File.dirname(__FILE__), "..")) lib_dir = File.join(base_dir, "lib") test_dir = File.join(base_dir, "test") $LOAD_PATH.unshift(lib_dir) require 'test/unit' exit Test::Unit::AutoRunner.run(true, test_dir) }} -次のように実行する。 $ ruby test/run_test.rb