【问题标题】:Using PowerMockito to mock object creation使用 PowerMockito 模拟对象创建
【发布时间】:2021-01-05 18:43:56
【问题描述】:

谁能给出如何使用 PowerMockito(B 类实现接口 A)模拟 A a= new B() 的对象创建的想法? 我已经尝试如下。但是被测试的类中没有使用mock对象,而是在该类下创建了一个新对象。

B b=Mockito.spy(B.class);
PowerMockito.whenNew(B.class).withNoArguments().thenReturn((b));

【问题讨论】:

  • 不要,不要,不要,不要,不要。存在整个框架专门用于防止您这样做。在 98% 的情况下,将 b 作为构造函数参数传递;在剩下的 2% 中,通过 Supplier<B>

标签: java junit mockito powermockito


【解决方案1】:

你需要用PowerMockito这样做

B b = PowerMockito.mock(B.class);
PowerMockito.whenNew(B.class).withNoArguments().thenReturn(b);

此答案中给出了一个有效的PowerMockito 示例 JUnit: mock a method called inside another method

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多