有没有办法为类中的所有测试使用一个@PrepareForTest注释? 我看到尽管编写了例如@PrepareForTest(PortalUtil.class)的setUp方法,但我必须使用每个使用PortalUtil.class的测试方法再次编写它。可以解决这个问题吗?
答案 0 :(得分:0)
您可以将注释放在测试类的顶部。
@PrepareForTest(PortalUtil.class)
public class MyTest {
....
}
来自javadoc的注释:
此注释可以放在测试类和单独的测试方法中。如果放在类中,则此测试类中的所有测试方法都将由PowerMock处理(以允许可测试性)。要为单个方法覆盖此行为,只需在特定测试方法上放置@PrepareForTest注释即可。这在例如您想要在测试方法A中修改类X而在测试方法B中希望X保持不变的情况下非常有用。在这种情况下,你在方法B上放置一个@PrepareForTest,并从value()列表中排除类X.