当前位置: 首页 > 知识库问答 >
问题:

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

孟永望
2023-03-14

我们的spring webapp实现了很多autowired接口。接口实现中的一些方法做了很多工作。方法本身有一个公共入口点,许多逻辑被抽象成许多私有方法。因此,单元和集成测试相当庞大,因为有很多要测试。在编写集成测试方面,我考虑的是一种模式,即让测试自动与实现而不是接口相关,将这些私有方法的作用域更改为公共的,但不将它们公开给拥有的接口。

这将允许对这些子例程进行单元测试,同时保持契约中没有很多方法,没有人会在服务本身的范围之外使用这些方法。

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

共有1个答案

鲜于浩淼
2023-03-14

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

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

由于单元测试不需要覆盖所有内容,这通常就足够了。

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

 类似资料:
  • 本文向大家介绍Python接口自动化测试的实现,包括了Python接口自动化测试的实现的使用技巧和注意事项,需要的朋友参考一下 1)环境准备:   接口测试的方式有很多,比如可以用工具(jmeter,postman)之类,也可以自己写代码进行接口测试,工具的使用相对来说都比较简单,重点是要搞清楚项目接口的协议是什么,然后有针对性的进行选择,甚至当工具不太适合项目时需要自己进行开发。   在我们项目

  • 问题内容: 我有一个接口,其实现包括单链接列表,双精度,循环等。我为单精度编写的单元测试应该对大多数双精度以及环形以及接口的任何其他新实现都有利。因此,JUnit不会为每个实现重复执行单元测试,而是提供一些内置的功能,让我拥有一个JUnit测试并针对不同的实现运行它吗? 使用JUnit参数化测试,我可以提供不同的实现,例如单,双,循环等,但是对于每个实现,都使用相同的对象执行类中的所有测试。 问题

  • 我有一个接口,它的实现包括单链表、Doubly、Circular等。我为Singly编写的单元测试应该对该接口的大部分Doubly以及Circular和任何其他新实现都有好处。因此,JUnit是否提供了一些内置的东西,让我有一个JUnit测试,并针对不同的实现运行它,而不是对每个实现重复单元测试? 使用JUnit参数化测试,我可以提供不同的实现,如Singly、doubly、circular等,但

  • 我有以下课程: 应用和配置类 MyRestController类 我的实用类 当我启动应用程序并将其作为独立jar运行时,或者从IDE(Eclipse)运行时,没有任何问题,一切都按预期进行。 然而,我想写一个单元测试来测试我的MyRestController类。。。我得到了一个NPE,因为自动连接字段util为null(在MyRestController类中)。 这是我的测试课: 我肯定错过了一

  • 有没有可能让一个Spring Bean实现两个接口,并能够使用任何一个接口自动连接Bean? 一个实现两个服务的类 我正在获取: 原因:org.springframework.beans.factory.NoSuchBeanDefinitionException:找不到依赖项[ServiceB]的[ServiceB]类型的合格bean:需要至少有一个bean可以作为此依赖项的自动候选项。依赖项批注