我需要模拟创建两个对象
Holder<MyClass1> h1 = new Holder<>();
Holder<MyClass2> h2 = new Holder<>();
我使用 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);
如何指定通用类型来模拟两个不同的对象?我的测试需要 2 个模拟。谢谢。
最佳答案
一种选择是使用通配符 '?'
,如:
Holder<?> holder = new Holder<>();
Holder<?> mock1 = PowerMockito.spy(holder);
Holder<?> mock2 = PowerMockito.spy(holder);
PowerMockito.whenNew(Holder.class).withNoArguments().thenReturn(mock1);
关于java - PowerMock模拟创建泛型类的新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42558290/