首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有参数使用说明的PowerMockito.verifyStatic()

带有参数使用说明的PowerMockito.verifyStatic()
EN

Stack Overflow用户
提问于 2016-07-08 15:04:30
回答 1查看 2.6K关注 0票数 2

我正在学习以下使用PowerMockito框架的示例:

代码语言:javascript
运行
复制
@RunWith(PowerMockRunner.class)
@PrepareForTest(Static.class)
public class YourTestCase {
    @Test
    public void testMethodThatCallsStaticMethod() {
        // mock all the static methods in a class called "Static"
        PowerMockito.mockStatic(Static.class);
        // use Mockito to set up your expectation
        Mockito.when(Static.firstStaticMethod(param)).thenReturn(value);
        Mockito.when(Static.secondStaticMethod()).thenReturn(123);

        // execute your test
        classCallStaticMethodObj.execute();

        // Different from Mockito, always use PowerMockito.verifyStatic() first
        // to start verifying behavior
        PowerMockito.verifyStatic(Mockito.times(2));
        // IMPORTANT:  Call the static method you want to verify
        Static.firstStaticMethod(param);


        // IMPORTANT: You need to call verifyStatic() per method verification, 
        // so call verifyStatic() again
        PowerMockito.verifyStatic(); // default times is once
        // Again call the static method which is being verified 
        Static.secondStaticMethod();

        // Again, remember to call verifyStatic()
        PowerMockito.verifyStatic(Mockito.never());
        // And again call the static method. 
        Static.thirdStaticMethod();
    }
}

我试图找出代码在以下“耦合”行中签入的行为:

代码语言:javascript
运行
复制
    ............        

    PowerMockito.verifyStatic(Mockito.times(2));
    Static.firstStaticMethod(param);

    ..................

    PowerMockito.verifyStatic(); // default times is once
    Static.secondStaticMethod();

    ..................

    PowerMockito.verifyStatic(Mockito.never());
    Static.thirdStaticMethod();

每双到底是什么?例如:第一对检查是否从准备好的类中调用了两个静态方法?

EN

回答 1

Stack Overflow用户

发布于 2021-03-11 19:46:50

代码语言:javascript
运行
复制
PowerMockito.verifyStatic(Mockito.times(2));
Static.firstStaticMethod(param);

意味着Static.firstStaticMethod被叫了两次。

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

https://stackoverflow.com/questions/38269889

复制
相关文章

相似问题

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