【发布时间】:2017-12-03 05:33:06
【问题描述】:
有没有办法为类中的所有测试使用一个@PrepareForTest 注释? 我看到尽管在 setUp 方法之前编写了例如 @PrepareForTest(PortalUtil.class) ,但我必须用每个使用 PortalUtil.class 的测试方法再次编写它。这可以解决吗?
【问题讨论】:
标签: java junit mockito powermockito
有没有办法为类中的所有测试使用一个@PrepareForTest 注释? 我看到尽管在 setUp 方法之前编写了例如 @PrepareForTest(PortalUtil.class) ,但我必须用每个使用 PortalUtil.class 的测试方法再次编写它。这可以解决吗?
【问题讨论】:
标签: java junit mockito powermockito
您可以将注释放在测试类的顶部。
@PrepareForTest(PortalUtil.class)
public class MyTest {
....
}
来自 javadoc 的注释:
这个注解可以放在测试类和单独的测试方法中。如果放置在一个类上,该测试类中的所有测试方法都将由 PowerMock 处理(以允许可测试性)。要为单个方法覆盖此行为,只需在特定测试方法上放置 @PrepareForTest 注释。这在例如您想在测试方法 A 中修改类 X 但在测试方法 B 中您希望 X 保持不变的情况下很有用。在这种情况下,您可以在方法 B 上放置 @PrepareForTest 并从 value() 列表中排除类 X。
【讨论】:
PortalUtil 的使用方式。