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

Ern*_*sto 4 java junit powermock

@PrepareForTestPowerMockito 中的注释实际上是什么意思?

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

Gho*_*ica 6

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

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

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

换句话说:要模拟X.doStatic(),必须准备X。要进行控制new Y,则必须准备包含该new()语句的类X。

  • 除此之外,它还允许您执行诸如模拟枚举之类的操作。 (3认同)