弹簧单元测试:直接自动执行接口的实现?

时间:2015-10-13 15:54:39

标签: java spring unit-testing

我们的Spring webapp实现了许多自动连接的接口。接口实现中的一些方法做了很多。公共点进入方法本身,并且大部分逻辑被抽象为许多私有方法。因此,单元和集成测试非常笨重,因为需要测试很多。在编写集成测试方面,我正在考虑使用测试Autowire 实现而不是接口的模式,将这些私有方法的范围更改为public,但不将它们暴露给拥有的接口。 / p>

这将允许单元测试这些子例程,同时保持合同清理许多方法,没有人会在服务范围之外使用。

这是一种已知的模式吗?这种方法有什么缺点?

1 个答案:

答案 0 :(得分:0)

我的理解是,测试服务实现而不仅仅是界面实际上更有益。

这样做的一种方法是在单元测试中使用实现作为参数,这样你只关心合同。

由于单元测试不需要涵盖所有内容,因此通常应该足够。

但是,如果您还想测试合同之外的东西,我不确定是否已指定标准方法。但是请继续测试实施。