文章更新时间:2023-08-28 18:00
组件简介
维护者 | mockito组织 | 许可证类型 | MIT |
首次发布 | 2008 年 4 月 29 日 | 最新发布时间 | 2023 年 8 月 27 日 |
GitHub Star | 14159 | GitHub Fork | 2478 |
依赖包 | 24,748 | 依赖存储库 | 145,258 |
org.mockito:mockito-core是一个流行的 Java 模拟框架,它提供了一个简洁的 API 来创建和使用模拟对象。它支持 Java 8 及以上版本,并且与 JUnit 4 和 JUnit 5 兼容。它还提供了 mockito-inline 和 mockito-android 子项目,以支持不同的场景和平台1。
官方仓库: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://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-commons | 1.10.0 | 是 | maven |
com.github.kevinstern:software-and-algorithms | 1.0 | 否 | maven |
org.opentest4j:opentest4j | 1.3.0 | 是 | maven |
com.google.auto.value:auto-value-annotations | 1.9 | 是 | maven |
org.jetbrains.kotlin:kotlin-stdlib-jdk8 | 1.9.10 | 是 | maven |
com.google.auto:auto-common | 1.2.1 | 是 | maven |
com.google.guava:guava-parent | 32.1.1-jre | 否 | maven |
该SBOM清单仅展示部分内容
完整SBOM清单及检测报告:
https://www.murphysec.com/console/report/1696092843930972160/1696092845336064000?allow=1