【问题标题】:PowerMock mock creation of new object of generic classPowerMock 模拟创建泛型类的新对象
【发布时间】:2017-03-02 14:37:54
【问题描述】:

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

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 个模拟。谢谢。

【问题讨论】:

    标签: java testing mockito powermock powermockito


    【解决方案1】:

    一种选择是使用通配符'?',如:

     Holder<?> holder = new Holder<>();
     Holder<?> mock1 = PowerMockito.spy(holder);
     Holder<?> mock2 = PowerMockito.spy(holder);
     PowerMockito.whenNew(Holder.class).withNoArguments().thenReturn(mock1);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-04
      • 1970-01-01
      • 1970-01-01
      • 2021-10-10
      • 1970-01-01
      • 1970-01-01
      • 2013-06-27
      • 1970-01-01
      相关资源
      最近更新 更多