我正在寻找根据构造函数中提供的参数创建返回不同值的模拟实例列表的方法。
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:我在考虑我应该使用虚假实现接口。
通过使用伪对象实现接口解决。
答案 0 :(得分:0)
实例化模拟列表是非常困难的操作。所以更好的解决方案是使用实现接口的假对象但是每次界面更改假对象都应该用界面更新。