模拟超类构造函数

Ris*_*shi 5 java junit guice jmock mockito

我想知道是否可以模拟超类构造函数调用及其 super() 调用。

例如,我有以下课程

class A
{
    A(..)
    {
        super(..)
    }
}   

class B extends A
{
    B(C c)
    {
        super(c)
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,我计划对 B 类中的一些方法进行单元测试,但是在创建实例时,它确实会调用超类构造函数,这使得编写单元测试变得很困难。那么,我如何模拟所有超类构造函数调用。另外,我想模拟 A 类中的一些方法,以便它根据我的需要返回一些值。

谢谢!!

mic*_*nko 1

您可以使用 PowerMock 库。当您需要完成像您这样的事情时,它确实是一个救星。 https://github.com/powermock/powermock/wiki/Suppress-Unwanted-Behavior