Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 实体模型实例列表_Java_Mocking_Jmockit - Fatal编程技术网

Java 实体模型实例列表

Java 实体模型实例列表,java,mocking,jmockit,Java,Mocking,Jmockit,我正在寻找根据构造函数中提供的参数创建返回不同值的模拟实例列表的方法 公共接口ValueObject{ int getValueInt(); 字符串getValueString(); } @RunWith(JMockit.class) 公共类降级{ @试验 public void testDemo()引发异常{ 类ValueObjectMock扩展了实体模型{ 私人最终估价; 私有最终字符串valueString; ValueObjectMock(int-valueInt,String-valu

我正在寻找根据构造函数中提供的参数创建返回不同值的模拟实例列表的方法

公共接口ValueObject{
int getValueInt();
字符串getValueString();
}
@RunWith(JMockit.class)
公共类降级{
@试验
public void testDemo()引发异常{
类ValueObjectMock扩展了实体模型{
私人最终估价;
私有最终字符串valueString;
ValueObjectMock(int-valueInt,String-valueString){
this.valueInt=valueInt;
this.valueString=valueString;
}
@嘲弄
int getValueInt(){
返回值int;
}
@嘲弄
字符串getValueString(){
返回值字符串;
}
}
最终列表对象=新建LinkedList();
对于(int i=0;i<10000;i++){
add(新的ValueObjectMock(i,String.valueOf(i)).getMockInstance());
}
assertTrue(objects.get(5.getValueString().equals(“5”));
}
}
这样,测试运行大约20分钟。 是否有其他方法创建不同模拟的列表

PS:我正在考虑我应该为接口使用伪实现


通过使用伪对象实现接口来解决

模拟列表的实例化是一项非常困难的操作。所以更好的解决方案是使用实现接口的伪对象。但是,每次界面更改时,应使用界面更新假对象

模拟类的每个实例化都会为接口创建一个新的模拟实现类,因此,是的,这并不是一个需要进行数千次的廉价操作。但这真的有必要吗?在这种情况下,创建一个实现接口的简单类更容易。然而,我想知道嘲笑是否有帮助。然而,若更改接口,那个么它也会导致伪对象更改。当接口由另一个团队管理时,这不是小事。也许,另一个团队应该管理他们的假对象以进行测试。