首页 > 解决方案 > 我是否需要为没有逻辑的服务方法编写单元测试?

问题描述

我需要这样的测试服务方法吗?

@Transactional
@Override
public Charge saveAndFlush(Charge charge) {
    return chargesRepository.saveAndFlush(charge);
}

原则上,没有什么可以测试的。因此,问题出现了 - 无论如何都要编写测试,因为将来有人可能会在这里添加逻辑。或者让他写一个会添加逻辑的人(如果有的话)。

标签: unit-testing

解决方案


没有什么可以测试的

嗯,有。因为不做测试无法区分正确的实现和以下错误的“实现”:

{
   return null;
}

{
   return chargesRepository.saveAndFlush(null);
}

{
   return chargesRepository.saveAndFlush(new Charge());
}

{
   return chargesRepository.someOtherMethod(charge);
}

但是你认为几乎没有什么可以测试是对的。假设 的类chargesRepository已经过正确测试,您只需要一到两个单元测试即可显示该方法正确委托给chargesRepository.


推荐阅读