PowerMock中的@PrepareForTest到底是什么意思?

时间:2019-06-03 15:06:46

标签: java junit powermock

PowerMockito中的注释@PrepareForTest到底是什么意思?

在具有静态方法的类之外,应该放置什么?

1 个答案:

答案 0 :(得分:3)

该注释告诉PowerMock(ito)列出的类将需要在字节码级别上进行操作。

您需要“准备测试”所有您要测试的X类

  • 模拟static方法(在X上)
  • 获得对另一个X类中使用的new()的调用的控制权
  • 控制私有方法(您可以使用间谍PowerMockito.when(spy, "privateMethodNameAsString").then...

换句话说:要模拟X.doStatic(),您必须准备X。要控制new Y,您必须准备包含的{{1} }。