使用powermockito模拟“测试”方法,我可以对powermockito中的WhiteBox进行同样的操作吗?

WhiteBox中是否有API可以做类似的事情?

public class MTest {

   @Before
  public void setUp() throws Exception {
    PowerMockito.whenNew(MCfg.class).withNoArguments().thenReturn(tCfg);
    doNothing().when(tCfg).test();
 }
}


-谢谢,

最佳答案

您对实际要做的事情不是很清楚。但我建议:要非常依赖于您的模拟框架,请务必谨慎。

关键是:出于某种原因,WhiteBox类位于名为internal的包中。如果您决定移至PowerMockito v2 ...,您会发现WhiteBox类已消失!在哪里前进并不那么有趣;因为PowerMockito不适用于任何最新版本的Mockito。

因此,我的忠告是:您正在编写自己的代码。然后,简单地学习如何创建可测试的代码;例如通过观看这些videos

我的经验是,EasyMock或Mockito完全可以测试编写为可测试的代码。在不考虑这些方面的情况下使用PowerMock最有可能导致您创建次优的生产代码。

10-07 16:58