Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.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 PowerMock创建泛型类的新对象_Java_Testing_Mockito_Powermock_Powermockito - Fatal编程技术网

Java PowerMock创建泛型类的新对象

Java PowerMock创建泛型类的新对象,java,testing,mockito,powermock,powermockito,Java,Testing,Mockito,Powermock,Powermockito,我需要模拟两个对象的创建 Holder<MyClass1> h1 = new Holder<>(); Holder<MyClass2> h2 = new Holder<>(); Holder h1=新的Holder(); 保持架h2=新保持架(); 我使用Mockito和PowerMock Holder<MyClass1> mock1 = PowerMockito.spy(new Holder<MyClass1>());

我需要模拟两个对象的创建

Holder<MyClass1> h1 = new Holder<>();
Holder<MyClass2> h2 = new Holder<>();
Holder h1=新的Holder();
保持架h2=新保持架();
我使用Mockito和PowerMock

Holder<MyClass1> mock1 = PowerMockito.spy(new Holder<MyClass1>());
Holder<MyClass2> mock2 = PowerMockito.spy(new Holder<MyClass2>());

PowerMockito.whenNew(Holder.class).withNoArguments().thenReturn(mock1);
Holder mock1=PowerMockito.spy(新Holder());
Holder mock2=PowerMockito.spy(新Holder());
PowerMockito.whenNew(Holder.class).withNoArguments()。然后返回(mock1);

如何指定泛型类型来模拟两个不同的对象?我的测试需要两个模拟。谢谢。

一个选项是使用通配符
“?”
,如下所示:

 Holder<?> holder = new Holder<>();
 Holder<?> mock1 = PowerMockito.spy(holder);
 Holder<?> mock2 = PowerMockito.spy(holder);
 PowerMockito.whenNew(Holder.class).withNoArguments().thenReturn(mock1);
Holder=newholder();
Holder mock1=PowerMockito.spy(Holder);
Holder mock2=PowerMockito.spy(Holder);
PowerMockito.whenNew(Holder.class).withNoArguments()。然后返回(mock1);

一个选项是使用通配符
“?”
,如下所示:

 Holder<?> holder = new Holder<>();
 Holder<?> mock1 = PowerMockito.spy(holder);
 Holder<?> mock2 = PowerMockito.spy(holder);
 PowerMockito.whenNew(Holder.class).withNoArguments().thenReturn(mock1);
Holder=newholder();
Holder mock1=PowerMockito.spy(Holder);
Holder mock2=PowerMockito.spy(Holder);
PowerMockito.whenNew(Holder.class).withNoArguments()。然后返回(mock1);