用Ruby來完成腳本任務是很方便的,這使得Ruby成為開發(fā)測試套件的強有力的候選人。 直到最近,還沒有真正獨立的用Ruby來測試Java的框架。Ola Blini(JRuby團隊的成員)和Anda Abramovici開發(fā)了JtestR,使得開發(fā)者可以用Ruby來測試Java。 這個項目主要是一些由JRuby集成在一起的Ruby庫套件。這其中也包括在Ruby領(lǐng)域中非常有名的庫: RSpec(用于行為驅(qū)動開發(fā)),mocha(用于mock與stub), dust(描述性程序塊語法測試定義,descriptive block syntax test definition),測試/單元以及 ActiveSupport (Ruby工具類)。 你可以這樣寫測試用例(RSpec非常聰明): 你可以這樣寫測試用例(RSpec非常聰明): import java.util.HashMapdescribe "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) endend JtestR可以作為Ant的一個任務,支持與Ant,buildr和Maven2的集成。 由于JtestR依賴于JRuby(JRuby正在進行密集的開發(fā)),如果你經(jīng)常運行你的測試,你應該建立服務器Ant任務來避免JRuby過長的啟動時間(在入門教程中將有進一步的描述)。
JtestR目前是0.1.1版本,還處于早期階段,歡迎你的反饋來指導它將來的發(fā)展方向。
|