【问题标题】:How do I verify a call to a static method in a final class using jMockit and TestNG?如何使用 jMockit 和 TestNG 在最终类中验证对静态方法的调用?
【发布时间】:2014-10-13 03:02:27
【问题描述】:

如何使用 jMockit 在最终类中验证对静态方法的调用?

在 PowerMockito 中,这是不可能的,因为该类是最终的。如果使用 jMockit 无法做到这一点,还有哪些替代方案?

【问题讨论】:

    标签: java unit-testing testng jmockit


    【解决方案1】:

    你应该可以在 PowerMockito 中做到这一点,是的。

    无论如何,在 JMockit 中,您通常会编写一个 验证 块,如下所示:

    @Test
    public void exampleTest(@Mocked AFinalClass mock)
    {
        // Call the code under test which uses AFinalClass.
    
        new Verifications() {{ AFinalClass.someStaticMethod(); }};
    }
    

    【讨论】:

    • TestNG 如何知道如何模拟 @Mocked 带注释的参数?
    • 就其本身而言,它不会;使用 JMockit 时,JMockit-TestNG 集成会处理这个问题。
    • 这个答案的关键部分是包含@Mocked AFinalClass mock 参数。我混合了 MockUp、withCapture 和 static,我正在尝试测试,包括参数是最终让事情对我有用的东西。太糟糕了,文档对此并不清楚......
    猜你喜欢
    • 1970-01-01
    • 2020-04-23
    • 2013-06-09
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多