首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@Rule和PowerMockRule的问题

@Rule和PowerMockRule的问题
EN

Stack Overflow用户
提问于 2020-12-31 13:16:23
回答 1查看 110关注 0票数 0

我正在使用

代码语言:javascript
复制
@Rule
public PowerMockRule rule = new PowerMockRule();

在我的一个测试文件中。现在,当我删除这部分代码时,几个测试用例开始失败,它们位于不同的文件夹中,与此文件没有直接关系。可能的问题是什么?

EN

回答 1

Stack Overflow用户

发布于 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

代码语言:javascript
复制
@PrepareForTest(X.class); 
public class MyTest {
     @Rule
     PowerMockRule rule = new PowerMockRule();
     // Tests goes here
     ... 
}

没有 PowerMockRule

代码语言:javascript
复制
@RunWith(PowerMockRunner.class)
@PrepareForTest(X.class); 
public class MyTest {

     // Tests goes here
     ... 
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65516919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档