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