0
我正在使用RSpec和JRuby測試Java類。如何在JRuby中導入Java類中的超級調用以測試
如何在我的RSpec測試中將導入的Java類中的super調用超級調用?
例如:
我有2個Java類:
public class A{
public String foo() {
return "bar";
}
}
public class B extends A
public String foo() {
// B code
return super.foo();
}
}
我只是想測試中B.foo的代碼,而不是代碼A.foo使用JRuby。如何在我的RSpec測試中將超級類方法的調用截斷?
RSpec的測試:
java_import Java::B
describe B do
it "should not call A.foo" do
# some code to stub out A.foo
b = B.new
b.foo.should_not == "bar"
end
end
我曾嘗試,包括與B的類新富方法希望它擊中了模塊化設計方法,第一,但乙還是使得對於A的插入模塊技術的呼叫的模塊適用於Ruby,但不適用於JRuby和導入的Java類。
任何其他想法,以超出超類方法來讓我的RSpec測試通過?
我同意重構測試可能是最簡單的解決方案。有時,如果我使用供應商庫,重構更爲困難。我希望我仍然可以在JRuby中這樣做,因爲這是Ruby中的一個選項。有另一個測試工具很好。 – 2010-02-27 20:25:22