使用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最有可能导致您创建次优的生产代码。