我正在寻找基于构造函数中提供的参数来创建返回不同值的模拟实例列表的方法。
public interface ValueObject {
int getValueInt();
String getValueString();
}
@RunWith(JMockit.class)
public class DemoTest {
@Test
public void testDemo() throws Exception {
class ValueObjectMock extends MockUp<ValueObject> {
private final int valueInt;
private final String valueString;
ValueObjectMock(int valueInt, String valueString) {
this.valueInt = valueInt;
this.valueString = valueString;
}
@Mock
int getValueInt() {
return valueInt;
}
@Mock
String getValueString() {
return valueString;
}
}
final List<ValueObject> objects = new LinkedList<ValueObject>();
for (int i = 0; i < 10000; i++) {
objects.add(new ValueObjectMock(i, String.valueOf(i)).getMockInstance());
}
assertTrue(objects.get(5).getValueString().equals("5"));
}
}以这种方式测试大约20分钟。还有另一种方法来创建不同的模拟列表吗?
PS:我正在考虑我应该使用假实现作为接口。
通过使用伪对象实现接口来解决。
发布于 2014-06-30 14:55:55
模拟列表的实例化是非常困难的操作。因此,更好的解决方案是使用实现接口的假对象。但是,每次界面更改时,都应该用接口更新假对象。
https://stackoverflow.com/questions/24318876
复制相似问题