我在4.10版本中使用junit,在1.3版本中声明了hamcrest核心,在1.3版本中声明了hamcrest库。我的问题是hamcrest库和hamcrest核心是否嵌入junit 4.10。那么junit 4.11呢?
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
JUnit 4.10
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
... 分别使用hamcrest core 1.1和1.3装运。通过利用依赖插件的树目标(运行mvn dependency:tree),您可以自己看到这一点:
$ mvn dependency:tree
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building testng 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ testng ---
[INFO] testng:testng:jar:1.0-SNAPSHOT
[INFO] \- junit:junit:jar:4.10:test
[INFO] \- org.hamcrest:hamcrest-core:jar:1.1:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.483s
[INFO] Finished at: Fri Mar 29 12:07:22 MDT 2013
[INFO] Final Memory: 5M/81M
[INFO] ------------------------------------------------------------------------
尽管这听起来很愚蠢,但您需要包含适当的hamcrest库人工制品来利用hamcrest Matchers。希望这有帮助。。。
如果你浏览搜索。专家您可以搜索工件并查看它们的依赖关系。如果您正在使用带有Maven插件的Eclipse,还可以在POM编辑器中单击依存层次结构。
在Maven网站上您可以看到JUnit 4.11依赖于Hamcrest 1.3:
<dependencies>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>1.3</version>
<scope>compile</scope>
</dependency>
</dependencies>
你必须添加自己。
有没有Hamcrest可以让我明确断言,返回对象的的方法的结果至少有一个对象包含具有特定值的属性? 例如: 测试下的方法返回一个的集合。我需要断言至少有一个人叫彼得。
问题内容: 我不明白JUnit 4.8如何与Hamcrest匹配器一起工作。有内部定义了一些匹配器在。同时,也有一些 其他 的匹配器中。那么,去哪儿呢?我是否应该在项目中明确包含hamcrest JAR并忽略JUnit提供的匹配器? 特别是,我对匹配器感兴趣,并且在任何这些jar中都找不到。我还需要其他东西吗?:) 还有一个哲学问题:为什么JUnit将包包含在自己的发行版中而不是鼓励我们使用原始的
null > pom包含对Hamcrest-library 1.3、Hamcrest-core 1.3和JUnit 4.11(按照顺序)的显式依赖关系,正如Garrett Hall在IntelliJ 10.5中运行test时获得“nosuchmethoderror:org.hamcrest.matcher.descripmisMatch”时所建议的那样 根据JUnit文档,JUnit4.11Mav
我对Android有点陌生,几个小时以来一直在努力研究如何将Hamcrest matchers包括在我的测试项目中。代码看起来应该在Eclipse中运行,没有指示的错误。但是当我运行测试时,Hamcrest类没有加载。我得到“NoClassDefFoundError:org.hamcrest.Matchers”。 在过去的3个小时里,我一直在浏览论坛,发现有人以前遇到过这种情况,但运气不好。我一定
null null null 更新2015-06-12:Mockito 1.10.19和2.0.13-beta仍然使用Hamcrest 1.1
我做错了什么,怎么修复?