InfoQ

News

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

作者 Sebastien Auvray, 翻訳者 編集部 投稿日 2008年1月9日 午後12時31分

コミュニティ
Java,
Ruby
トピック
ユニットテスト
タグ
Mocks,
Maven,
Ant,
JRuby,
RSpec,
Buildr
スクリプトタスク用の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
ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。

Agile2008 チーム参加レポート - カンファレンス参加編

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。