gpt4 book ai didi

java - 对来自 jruby 的内部 java 方法调用设置 rspec 期望

转载 作者:搜寻专家 更新时间:2023-11-01 03:29:54 27 4
gpt4 key购买 nike

我希望能够在 jruby 下使用 rspec 测试 java 代码,但看不到如何设置对内部 java 方法调用的期望。给定以下 java:

public class A {
public String hi() {
return hello();
}

public String hello() {
return "yo";
}
}

我希望能够做到:

describe 'A' do
it 'should call hello' do
a = some.java.package.A.new
a.should_receive(:hello).and_return('yello')
a.hi
end
end

是否可以在后台集成 java 模拟工具来执行此操作?有人已经这样做了吗?我不在乎是否必须使用不同的语法来设置期望值(而不是 rspec 的“should_receive”),但它至少应该简洁。

最佳答案

JtestR 完全符合您的要求。它是与 JRuby 集成捆绑在一起的 Ruby 库的集合,因此运行测试的设置非常轻松。

它捆绑了 Mocha 和 RSpec http://jtestr.codehaus.org/Mocks .例如 Rspec for Map,你可以像这样编写模拟:

it "should be able to add an entry to it" do
@hash_map.put "foo", "bar"
@hash_map.get("foo").should == "bar"
end

More info here

关于java - 对来自 jruby 的内部 java 方法调用设置 rspec 期望,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3174880/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com