【发布时间】:2014-07-16 05:00:05
【问题描述】:
我有一个简单的 get-set 界面:
public interface Foo {
void setBaz(String baz);
String getProcessedBaz();
}
这个接口是我实际测试类的依赖项。我正在尝试模拟 Foo 以获得这种有效的行为:
public class MockedFoo implements Foo {
private String bazField;
@Override
public void setBaz(String baz) {
bazField = baz;
}
@Override
public String getProcessedBaz() {
return "PROCESSED_" + bazField;
}
}
所以我的预期结果是:
mockedFoo.setBaz("ABC");
assertEquals("PROCESSED_ABC", mockedFoo.getProcessedBaz());
我能够在Verification 中使用withCapture 捕获方法参数,但是如何设置具有相同输入值的Expectation?看来你可以做一个或另一个。
有没有办法在 JMockIt 中表达这一点?我使用的是最新版本 (1.9)。
注意:我知道我可以简单地设置一个Mockup<Foo> 实例并输入上面的所有代码。但是,我的真实代码要复杂得多,我不想手工制作整个模拟类。
【问题讨论】:
标签: java unit-testing properties mocking jmockit