首页 文章

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

提问于
浏览
3

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

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

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

1 回答

  • 0

    我的理解是,测试服务实现而不仅仅是接口实际上更有益 .

    一种方法是在单元测试中使用实现作为参数,这样你只关心 Contract .

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

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

相关问题