&tag(Ruby1.9/UnitTest);
*目次 [#q03978c7]
#contents
*参考情報 [#kcdcf4c6]
-[[library test/unit:http://doc.ruby-lang.org/ja/1.9.2/library/test=2funit.html]]


*テストライブラリ概論 [#p539d750]
-Ruby 1.8まではTest::Unitが標準添付でこれが標準。
-Ruby 1.9からminitestというライブラリにとってかわられ、Test::Unitもminitestで書き直された。
-特にこだわりがないならminitestを直接使えばよさそう。

*minitest [#t593c280]
**テストファイルの作成 [#qa29e917]
-test_foo.rbを作成。
#pre{{
require 'minitest/unit'
require 'foo'

MiniTest::Unit.autorun

class TestFoo < MiniTest::Unit::TestCase
  def setup
    @foo = Foo.new
  end
  # teardown はあまり使わない
  def teardown
    @foo = nil
  end

  def test_foo
    assert_equal "foo", @foo.foo
  end

  def test_bar
    assert_equal "bar", @foo.bar
  end
end
}}
**テスト実行 [#yd571a16]
-直接スクリプトを実行する
$ ruby test_foo.rb


 $ ruby test_foo.rb
-bundleを使っている場合
 $ bundle exec ruby test_foo.rb
*Test::Unit [#l4d69d2e]
**テストのファイル名 [#k1c338a9]
-test_foo.rbとする。

**テストの実装 [#j1810dcf]
-テスト対象クラスをfooとするとき、次のように実装する。
#pre{{
require 'test/unit'
require 'foo'

class TC_Foo < Test::Unit::TestCase
  def setup
    @obj = Foo.new
  end

  # def teardown
  # end

  def test_foo
    assert_equal("foo", @obj.foo)
  end
  def test_bar
    assert_equal("bar", @obj.bar)
  end
end
}}

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS