InfoQ

InfoQ

News

マイブックマーク

ブックマークするためにログイン または 会員登録 する

ブックマークされました!

ブックマークがエラーになりました。もう一度お願いします。

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

作者 Sebastien Auvray , 翻訳者 編集部 投稿日 2008年1月9日

セクション
デベロップメント
トピック
JRuby ,
Ruby ,
Java ,
動的言語 ,
Maven ,
Buildr ,
言語 ,
ユニットテスト ,
Japanese Build systems ,
テスト ,
プログラミング ,
Mocks ,
RSpec ,
Ant ,
TDD
スクリプトタスク用の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