如何模拟该类包含静态块

时间:2016-09-08 11:35:16

标签: junit

static {
    try {
        StringBuffer sb = new StringBuffer();
        sb.add("Kiran");
        string s= "Vikram";
        sb.add(s);  }
    catch (Exception e) {
        logger.fatal("Exception", e);
    }
}

1 个答案:

答案 0 :(得分:1)

我建议:完全没有。

静态是良好的OO设计中的异常。静态初始化块更糟糕。

相反:了解如何撰写可测试的代码,例如通过here观看这些视频。然后更改您的代码以不执行此类操作。你需要嘲笑那些东西......蒸发。

特别是因为您示例中的代码没有任何副作用;因为在那个区块之外没有任何变量存在。可能你有一些"减少"那里的例子;实际上你的静态块正在做某种属性init。但即使是那种情况......你可能会找到更好的方法来做到这一点;而不是将它们放入静态块!