BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース RubyとJtestRを用いてJava Testを加速させる

RubyとJtestRを用いてJava Testを加速させる

ブックマーク
スクリプトタスク用のRubyの簡易さによってそれはテスト一式を記述するための有力候補となっている。最近までRubyを用いてJavaをテストする本 当の意味での独立型のフレームワークは存在していなかった。Ola Blini氏(JRubyチームの一員)(source)とAnda Abramovici氏によって書かれたJtestR(source)が今それを実現する。

メインプロジェクトはJRuby統合にバンドルされたRubyライブラリ一式である。またそれにはRubyの世界において有名なライブラリも含まれてい る。RSpec(for BDD)、mocha(モックとスタブ)、dust(ディスクリプティブブロックシンタックステスト定義)、Test・UnitとActiveSupport(Rubyユーティリティクラス)である。

テストケースの外観は最終的に下記のようになるだろう(RSpec的に)。
import java.util.HashMap

describe "An empty", HashMap do
 before :each do
 @hash_map = HashMap.new
 end
 it "should be able to add an entry to it" do
 @hash_map.put "foo", "bar"
  @hash_map.get("foo").should == "bar"
 end
 it "should return a keyset iterator that throws an exception on next" do
 proc do
 @hash_map.key_set.iterator.next
 end.should raise_error(java.util.NoSuchElementException)
 end
end
Ant(source)タスクJtestRがAnt,buildr(source)とMaven2(source)統合をサポートする。

JtestRはJRuby(まだかなりの開発段階にあるが)に依存しているのでもしテストを頻繁に動作させるのならばJRubyの長いスタートアップタイムを防ぐために(スタートガイドに解説されているように)サーバAntタスクを設定するべきだ。

0.1.1バージョンのJtestRはアーリーリリースにあるのであなたの意見は今後の方向性に大変有効となるだろう。

原文はこちらです:http://www.infoq.com/news/2008/01/boost-java-test

この記事に星をつける

おすすめ度
スタイル

BT