首页> Java> java教程> 正文

使用 JUnitnd Mockito 对图像上传器 API 进行单元测试

WBOY
发布: 2024-08-08 09:19:01
原创
654 人浏览过

Unit Testing the Image Uploader API with JUnitnd Mockito

在本系列的第一篇文章中,我们逐步介绍了如何使用 Spring Boot、Cloudinary、Docker 和 PostgreSQL 构建一个强大的图像上传器。我们涵盖了从设置项目到向保存图像和信息的端点发出请求的所有内容。如果您还没有阅读那篇文章,我强烈建议您从那里开始,为我们将要使用的应用程序打下坚实的基础。

现在,是时候确保我们的应用程序可靠并随着时间的推移保持其完整性。这给我们带来了软件开发的一个关键方面:测试。在本文中,我们将重点为我们的图像上传器 API 编写单元测试。我们将探索如何模拟依赖关系,并编写涵盖服务不同部分的测试。

单元测试不仅有助于及早发现错误,还能确保我们的代码可维护和可扩展。在本文结束时,您将拥有一套针对图像上传器 API 的全面测试,让您确信您的应用程序按预期工作。

让我们深入单元测试的世界,让我们的图像上传器 API 防弹!

配置

我正在使用 VSCode 和 Java 扩展包。现在我们准备好编写测试了。

如果您使用其他 IDE,请参阅 JUnit5 文档中对所有这些 IDE 的支持。

测试

1. 图书服务测试

右键单击 BookService 类,单击“Go to Test”,然后从菜单中选择要为其生成测试的方法。

将会生成一个类似的文件,如下所示:

雷雷

请记住,对于本文,我们将使用AAA 模式进行测试(排列 - 执行 - 断言)。

1.1.模拟属性

雷雷
  • @Mock注释模拟/模拟类将要使用的属性或依赖项的行为。
  • @InjectMocks注解创建模拟并将其注入到相应的字段中。

1.2.编写测试

  • 测试成功案例(shouldCreateANewBook)。
  • 测试对存储库的调用(shouldCallRepositorySave)。
  • 测试上传是否失败(shouldFailTheUpload)。
雷雷

2. 图书控制器测试

  • 测试成功案例(shouldReturnSuccess)
  • 测试失败案例(shouldFailToUploadImage)
  • 使用缺少的名称参数进行测试(shouldFailWithMissingNameParameter)
  • 使用缺少的 imgUrl 参数进行测试(shouldFailWithMissingImageParameter)
雷雷

结论

这些是一些简单的测试用例,供您开始测试您的应用程序。请记住,我们可以通过添加一些工厂来重构这些测试以避免重复。

感谢您的阅读。

参考

JUnit5 - 文档
Mockito - 文档

以上是使用 JUnitnd Mockito 对图像上传器 API 进行单元测试的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!