用Ruby來完成腳本任務是很方便的這使得Ruby成為開發測試套件的強有力的候選人直到最近還沒有真正獨立的用Ruby來測試Java的框架Ola Blini(JRuby團隊的成員)和Anda Abramovici開發了JtestR使得開發者可以用Ruby來測試Java
這個項目主要是一些由JRuby集成在一起的Ruby庫套件這其中也包括在Ruby領域中非常有名的庫RSpec(用於行為驅動開發)mocha(用於mock與stub) dust(描述性程序塊語法測試定義descriptive block syntax test definition)測試/單元以及 ActiveSupport (Ruby工具類)
你可以這樣寫測試用例(RSpec非常聰明)
import javautilHashMap
describe An empty HashMap do
before :each do
@hash_map = HashMapnew
end
it should be able to add an entry to it do
@hash_mapput foo bar
@hash_mapget(foo)should == bar
end
it should return a keyset iterator that throws an exception on next do
proc do
@eratornext
endshould raise_error(javautilNoSuchElementException)
end
end
由於JtestR依賴於JRuby(JRuby正在進行密集的開發)如果你經常運行你的測試你應該建立服務器Ant任務來避免JRuby過長的啟動時間(在入門教程中將有進一步的描述)
JtestR目前是版本還處於早期階段歡迎你的反饋來指導它將來的發展方向
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19536.html