简单/可测试性困境

时间:2014-09-25 09:57:51

标签: java unit-testing junit software-design

让我们来看看下面的课程:

class X {
    public void execute(Data[] data) {
        for (Data d : data) {
            MyExecutor e = new MyExecutor(d);
            e.execute();
        }
    }
}

这很简单,但如果使用 Mockito 则完全不可测试。解决方案很简单:将 ExecutorFactory 和DI引入 X

但这意味着,要实现新功能而不是四个类,你需要编写8,再加上测试......简而言之,简单的事情就变成了地狱。

问题:如何重新考虑上面的示例以保持开发/测试简单,但仍然耐用?

更新: MyExecutor 与线程和 ExecutorService 无关。它只是一些消耗 d 的类,但不会以任何方式更改数据。

0 个答案:

没有答案