org.mockito:mockito-core 组件安全漏洞及健康度分析

文章更新时间:2023-08-28 18:00

org.mockito:mockito-core

组件简介

维护者mockito组织许可证类型MIT
首次发布2008 年 4 月 29 日最新发布时间2023 年 8 月 27 日
GitHub Star14159GitHub Fork2478
依赖包24,748依赖存储库145,258

org.mockito:mockito-core是一个流行的 Java 模拟框架,它提供了一个简洁的 API 来创建和使用模拟对象。它支持 Java 8 及以上版本,并且与 JUnit 4 和 JUnit 5 兼容。它还提供了 mockito-inline 和 mockito-android 子项目,以支持不同的场景和平台1。

官网:https://site.mockito.org/

官方仓库:https://github.com/mockito/mockito

参考链接:

https://packages.ecosyste.ms/registries/repo1.maven.org/packages/org.mockito:mockito-core

组件健康度

技术健康度该组件使用了最新的 Java 11 版本,并且在 GitHub 上有近 6000 个提交。它使用了 Shipkit 库和 Gradle Nexus Publish Plugin 来实现完全自动化的发布。它还提供了丰富的测试和文档,以确保代码的质量和可读性。
社区健康度该组件在 GitHub 上有超过 2.7 万个星标,并且有 629 个标签和 20 个分支。它有一个活跃的邮件列表和 Twitter 账号,并且在 StackOverflow 上有大量的问题和答案。它还与 Tidelift 合作,为企业用户提供商业支持和维护。
更新和维护频率该组件每次在主开发分支上有变更时,都会发布一个 -SNAPSHOT 版本到 Sonatype 快照仓库。大约每个月,它会发布一个新的小版本或补丁版本到 Maven Central。目前,该组件的最新版本是 5.5.0,于 2023 年 8 月 27 日发布。
兼容性该组件支持 Java 8 及以上版本,并且与 JUnit 4 和 JUnit 5 兼容。它还提供了 mockito-inline 和 mockito-android 子项目,以支持不同的场景和平台。它没有引入任何破坏性的 API 变更,但是在 Mockito 4 中移除了一些已弃用的 API。
文档和支持该组件在 javadoc.io 上提供了所有版本的文档,并且在 Mockito 网站上有详细的介绍和示例。它还有一个贡献指南,鼓励开发者参与到项目中来。如果用户遇到任何问题或建议,可以通过邮件列表、Twitter、GitHub issue tracker 等渠道进行反馈和交流。

org.mockito:mockito-core 是一个健康度很高的组件,它具有先进的技术、活跃的社区、频繁的更新、良好的兼容性和完善的文档。

参考链接:

https://site.mockito.org/

https://www.baeldung.com/mockito-core-vs-mockito-all

https://github.com/shipkit/shipkit-changelog

https://s01.oss.sonatype.org/content/repositories/snapshots/org/mockito/mockito-core/

https://github.com/mockito/mockito

https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html

组件许可证解读

MIT 许可证是一种非常宽松的自由软件许可证,它起源于麻省理工学院。它可以分为三个部分,分别是:

  • 授予条款:这个部分允许用户对软件进行任何操作,例如使用、复制、修改、合并、发布、分发、再许可和/或出售软件,不需要支付费用或获取许可。
  • 条件条款:这个部分要求用户在软件的所有副本或实质部分中,包含版权声明和许可声明,以保护作者或版权所有者的知识产权,以及让用户知道软件的许可证。
  • 免责条款:这个部分声明作者或版权所有者对软件不承担任何责任,包括保证、担保、索赔、损害或其他责任,无论是因为软件本身或软件的使用而导致的。

MIT许可证是一种非常宽松的开源许可证,鼓励软件的自由使用、修改和分发,同时降低了法律责任。

许可证原文链接:https://github.com/mockito/mockito/blob/main/LICENSE

组件漏洞版本及修复方案

暂无

同类型可替代组件

  • EasyMock:EasyMock 是一个开源的模拟框架,它使用 java.lang.reflect.Proxy 对象来创建模拟对象。它可以模拟接口和类,并且提供了记录、回放和验证的功能。它与 JUnit 和 TestNG 都可以集成。官网:https://easymock.org/
  • WireMock:WireMock 是一个 HTTP 模拟服务器,它可以模拟和存根 HTTP 响应。它适用于微服务架构中,当我们需要模拟外部 API 来测试一个依赖于这些 API 的组件时。它可以运行在独立模式或嵌入模式,并且提供了丰富的配置选项。官网:https://wiremock.org/
  • MockWebServer:MockWebServer 是一个用于模拟依赖 API 的库,它可以在测试中启动一个本地 HTTP 服务器,并且返回预定义的响应。它可以用于测试网络连接、超时、错误等情况,并且可以与 Retrofit、OkHttp 等库配合使用。官网:https://square.github.io/okhttp/3.x/mockwebserver/index.html
  • Spock:Spock 是一个基于 Groovy 的测试框架,它可以用来测试 Java 和 Groovy 代码。它提供了一种基于 BDD(行为驱动开发)的语法来编写可读性强的测试用例,并且内置了对模拟和存根的支持。它也可以与 JUnit 和 Gradle 集成。官网:https://spockframework.org/

组件SBOM

组件名称版本是否直接依赖仓库
org.junit.platform:junit-platform-commons1.10.0maven
com.github.kevinstern:software-and-algorithms1.0maven
org.opentest4j:opentest4j1.3.0maven
com.google.auto.value:auto-value-annotations1.9maven
org.jetbrains.kotlin:kotlin-stdlib-jdk81.9.10maven
com.google.auto:auto-common1.2.1maven
com.google.guava:guava-parent32.1.1-jremaven

该SBOM清单仅展示部分内容

完整SBOM清单及检测报告:

https://www.murphysec.com/console/report/1696092843930972160/1696092845336064000?allow=1

(0)
上一篇 2023年8月28日 下午7:28
下一篇 2023年8月28日 下午8:35

相关推荐