gpt4 book ai didi

java - Mockito、JUnit、Hamcrest、版本控制

转载 作者:IT老高 更新时间:2023-10-28 20:53:17 29 4
gpt4 key购买 nike

默认情况下,Hamcrest 所需的版本用于:

  • JUnit 4.11
    • Hamcrest 1.3
  • Mockito-core 1.9.5
    • Hamcrest 1.1

Hamcrest 1.1 和 1.3 之间的 API 没有变化。目前我的测试用例尝试使用 Hamcrest 1.1 运行 JUnit 4.11,但我合理 sure that this is a bad idea.出于类似的原因,我怀疑尝试将 Mockito-core 1.9.5 与 Hamcrest 1.3 一起使用是 also a bad idea.

怎么办?

  1. 将 Hamcrest 1.1 与最新的 JUnit 和 Mockito 结合使用
  2. 将 Hamcrest 1.3 与最新的 JUnit 和 Mockito 结合使用
  3. 尝试修补 Mockito-core 1.9.5 以使用 Hamcrest 1.3
    • 我现在真的没有时间
  4. 使用 JUnit 4.10
  5. 其他?

2015-06-12 更新: Mockito 1.10.19 和 2.0.13-beta 仍然使用 Hamcrest 1.1

最佳答案

@durron597 于 2015 年 7 月 29 日更新:这个出色的答案在 2013 年是正确的,但后来由于 Mockito 的更新而变得过时。 See this answer.

我在工作中的许多 Maven 项目中使用具有 Mockito 核心依赖项和 hamcrest 1.3 的最新 JUnit。到目前为止,没有人报告这有任何问题。因此,如果这适用于您的测试,请使用所有三个的最新版本。只需确保使用 mockito 核心而不是全部。

所以我建议使用选项 2 以获得新版本的所有好处。如果您真的怀疑任何事情都可能出错,请使用最安全的选项 4。但当然你可以选择选项 2,当在不久的将来出现任何问题时,你可以切换到选项 2。或者从那时起,一个更新的 mockito 已经可以解决这个问题。

来自 mockito Issue 397 的注释: mockito-core 不会出现这个问题。

关于java - Mockito、JUnit、Hamcrest、版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18770943/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com