我正在使用
@Rule
public PowerMockRule rule = new PowerMockRule();在我的一个测试文件中。现在,当我删除这部分代码时,几个测试用例开始失败,它们位于不同的文件夹中,与此文件没有直接关系。可能的问题是什么?
发布于 2021-01-05 19:13:29
有关更多详细信息,请参阅下面的维基链接。
从技术上讲,您可以使用PowerMockRule,而不是使用@RunWith(PowerMockRunner.class),如下例所示。
因此,当您删除PowerMockRule时,您的测试将失败,因为您的测试中将没有@RunWith(PowerMockRunner.class)。
https://github.com/powermock/powermock/wiki/powermockrule
使用JUnit规则进行
引导
从PowerMock 1.4开始提供的功能从1.4版开始,可以使用JUnit规则引导PowerMock,而不是使用PowerMockRunner和RunWith注释。这允许您使用其他JUnit运行器,同时仍然受益于PowerMock的功能。为此,您可以指定:
使用 PowerMockRule的
@PrepareForTest(X.class);
public class MyTest {
@Rule
PowerMockRule rule = new PowerMockRule();
// Tests goes here
...
}没有 PowerMockRule的
@RunWith(PowerMockRunner.class)
@PrepareForTest(X.class);
public class MyTest {
// Tests goes here
...
}https://stackoverflow.com/questions/65516919
复制相似问题