java – hamcrest核心,为什么需要这个?

我在Java中使用JUnit作为我的TDD,并注意到有两个组件可以从JUnit.org下载.首先,我认为我需要JUnit组件并下载,安装.当我编译并尝试运行我的测试时,它抱怨没有找到Hamcrest类.所以我不得不从他们的主页再次下载这个.

因此,出于好奇,为什么我们需要从一开始就为一个目的使用两次下载?有谁知道为什么hamcrest核心与JUnit是分开的,即使它被JUnit使用?

谢谢,
Javabug

解决方法:

JUnit使用Hamcrest.在过去,JUnit嵌入了导致问题的Hamcrest类,因为项目在不同的周期中不断发展.在最近的JUnit版本中(如果我没错,从4.11开始)这已经改变了,并且没有嵌入Hamcrest.因此,如果将JUnit作为依赖项添加到项目中(Maven,Gradle等),您将隐式获得对Hamcrest的依赖.

我相信Hamcrest的这个问题在某种程度上与分裂有关. https://github.com/hamcrest/JavaHamcrest/issues/92

上一篇:java – 如何验证该数组包含放心的对象?


下一篇:android – Espresso检查视图是否isExotExist isDisplayed