須藤です。

test-unit 2.4.7をリリースしました!

Web: http://test-unit.rubyforge.org/index.html.ja#test-unit
インストール: gem install test-unit

説明:

test-unitはRuby 1.8.xにバンドルされているTest::Unitを改良した
テスティングフレームワークです。

Ruby 1.9.xではTest::Unitではなく、minitestがバンドルされてい
ます。これは、Ruby 1.8.xにバンドルされていたTest::Unitが長い
間改良されていなかったからです。(Rubyにバンドルされなくなっ
た)test-unitは活発に改良されています。

ハイライト:

                   推奨require方法を変更

今回のリリースから推奨するrequireの書き方を変更しました。
これまでは以下のようにgem "test-unit"してからrequireする方法
を推奨していました。

  gem "test-unit"
  require "test/unit"
  
これからは以下のように"test-unit"をrequireする方法を推奨しま
す。

  require "test-unit"

こうすることによって、Ruby本体にバンドルされているTest::Unit
と競合することを防ぐことができます。


              失敗したテストの周辺コードを表示

今回のリリースから失敗したテストの周辺のコードを少し表示する
ようにしてみました。

まず、以下のような必ず失敗するテストがあるとします。

  require "test-unit"

  class TestCodeSnippet < Test::Unit::TestCase
    def test_always_fail
      assert_equal("Expected!", "Actual!")
    end
  end

これを実行すると以下のように失敗したコードの周辺を表示します。

  % ruby /tmp/test-code-snippet.rb
  Loaded suite /tmp/test-code-snippet
  Started
  F
  ===============================================================================
  Failure:
  test_always_fail(TestCodeSnippet)
  /tmp/test-code-snippet.rb:5:in `test_always_fail'
       2: 
       3: class TestCodeSnippet < Test::Unit::TestCase
       4:   def test_always_fail
    => 5:     assert_equal("Expected!", "Actual!")
       6:   end
       7: end

  <"Expected!"> expected but was
  <"Actual!">

  diff:
  ? Expected !
  ? A     ual 
  ===============================================================================
  ...

コードを直すときはファイルを開かないといけないと思いますが、
パッと見てどこらへんが悪そうかの雰囲気を確認するには便利かと
思います。


変更点:

変更点は以下の通りです。

http://test-unit.rubyforge.org/test-unit/ja/file.news.html#2-4-7


-- 
須藤 功平 <kou / clear-code.com>
株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270)

プログラミングが好きなソフトウェア開発者を募集中:
  http://www.clear-code.com/recruitment/