Junit:没有实例调用私有方法

时间:2017-01-06 11:56:42

标签: java junit jmockit

在应用程序中没有写入Junits。但在其他模块中,我们已经开始使用Jmockit编写Junits。因此,任何核心Java或Jmockit解决方案都将受到高度赞赏。

我有应用程序初始化类,它是单例,它通过调用数据库[数据加载],属性文件等来初始化应用程序。它的对象创建很复杂。

我正在编写新方法来初始化类[方法名称addMoreInitilization]。

我想为上面的场景编写Junit。有没有办法为addMoreInitilization方法编写Junit而不调用复杂的对象创建逻辑,因为它有很多依赖项并且模拟它们都不可行而且也不想让方法静态?

下面的ApplicationStartUp类的伪java代码

Class ApplicationStartUp {

   private ApplicationStartUp applicationStartUp;
   // assume single ton implemented

   private ApplicationStartUp () {
       // complex object creation
       addMoreInitilization();
   }

    public static getInstance() {
    }

    // new method
    private addMoreInitilization() {
        // my logic needs to be tested using junit
    }

}

1 个答案:

答案 0 :(得分:0)

您可以扩展" ApplicationStartUp"在你的测试中。然后覆盖不需要的方法。这样,您就可以创建子类的Object并调用方法" addMoreInitialization"超级班。