单元测试与组件/集成测试
测试Java 代码时通常使用两种测试类型:
-
单元测试将应用程序分解为其基本元素。我们单独测试每个元素,以便更关注正确性和质量。在 Java 中,我们通常将“类”称为被测对象。
-
组件测试将在没有超出团队责任的其他第三方代码和服务的情况下测试系统。这些测试的重点更多地放在功能上,我们假设在单元级别测试的代码按预期执行。
使用 Mockito 编写的单元测试可以通过使用Spring框架扩展到组件测试。
示例应用程序和流程
对于管理图书馆图书和读者(添加图书、添加读者、删除读者等)的图书馆管理应用程序示例,重点介绍以下应用程序元素:
-
图书馆: 图书馆服务,提供管理图书馆的方法
-
图书馆数据访问层 (DAL)
-
读者服务: 负责处理图书馆的读者
-
通知服务: 负责发送通知
除此之外,我们的图书馆应用程序使图书管理员能够向图书馆添加新书。添加新书时,会发生两件事:
-
新书存储在图书馆数据库中。
-
订阅的读者将收到某种类型的通知(电子邮件、短信等),关于新书现已在图书馆中可用。
我们的测试专注于这个流程,我们使用两种测试方法。一种是单元测试的“经典”形式,我们分别测试应用程序中的每个元素。第二个测试整个流程,因此需要包括几个(如果不是全部)应用程序元素。

本文探讨了Java开发中常见的两种测试方法——单元测试和组件测试。单元测试关注于代码的基本元素,如类,而组件测试则在不依赖外部服务的情况下测试系统功能。在图书馆管理应用的例子中,单元测试会单独测试图书馆服务、数据访问层、读者服务和通知服务,而组件测试则会涵盖整个图书添加流程,包括存储和通知订阅者。Mockito在单元测试中的使用能帮助模拟依赖,确保测试隔离。

被折叠的 条评论
为什么被折叠?



