当前位置: 首页 > 知识库问答 >
问题:

JUnit和hamcrest声明

督俊雅
2023-03-14

我在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>

共有2个答案

毋修为
2023-03-14

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。希望这有帮助。。。

霍永年
2023-03-14

如果你浏览搜索。专家您可以搜索工件并查看它们的依赖关系。如果您正在使用带有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

  • 我做错了什么,怎么修复?