使用hamcrest错误

原创 2015年11月19日 21:23:29

使用:assertThat(n, allOf( greaterThan(x), lessThan(y) ) )等,出现没有这个方法的错误:

java.lang.NoSuchMethodError: org.hamcrest.core.AllOf.allOf(Lorg/hamcrest/Matcher;Lorg/hamcrest/Matcher;)Lorg/hamcrest/Matcher;

    at org.hamcrest.Matchers.allOf(Matchers.java:33)
    at com.qh.junit4.test.TTest.testAdd(TTest.java:18)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)
    at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)
    at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)
    at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)
    at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
    at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
    at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
    at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
    at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
    at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
    at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
    at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

解决办法:

    将hamcrest的包排列到junit包的前面,就可以解决问题





使用junit单元测试的java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing问题解决办法

用junit进行单元测试的时候,突然就出现了以下错误: java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing at ja...
  • ILV_XJ
  • ILV_XJ
  • 2017年03月03日 10:31
  • 888

软件测试实验——安装并使用junit、hamcrest和eclemma进行简单测试

一、安装junit、hamcrest和eclemma 首先,到junit官网下载junit和hamcrest。    新建java项目 完整代码已经上传至github:flyzero的cod...

JUnit中使用Hamcrest测试框架的assertThat断言【4.4新特性】

1.JUnit4.4引入了Hamcrest框架,Hamcest提供了一套匹配符Matcher,这些匹配符更接近自然语言,可读性高,更加灵活; 2.使用全新的断言语法:assertThat,结合Ham...

JUnit4中使用Hamcrest测试框架的assertThat断言 小实例

我的项目中使用JUnit4.6   待测试的方法 //Get number from [p, r] int getRandomFrom(int p, int r){ int cho...
  • gqltt
  • gqltt
  • 2011年08月05日 15:30
  • 3102

JUnit中使用Hamcrest测试框架的assertThat断言【4.4新特性】

junit

使用Hamcrest增强JUnit的测试能力

完整版见https://jadyer.github.io/2013/07/09/junit-hamcrest/
  • jadyer
  • jadyer
  • 2013年07月09日 12:41
  • 1976

软件测试——Junit、Hamcrest、Eclemma的安装和使用

综述 1. JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。它包括以下特性: 1. 用于测试期望结果的...

Junit4X系列--hamcrest的使用

OK,在前面的一系列博客里面,我整理过了Assert类下面常用的断言方法,比如assertEquals等等,但是org.junit.Assert类下还有一个方法也用来断言,而且更加强大。这就是我们这里...

junit搭配hamcrest使用

开篇 - 快速进行软件编码,与功能测试应该是每个写代码的人,应该掌握的技能,如何进行优雅的写代码,把测试的时间压缩,腾出时间来休息。下面听我一一道来:依赖:junit 4.4 ...

JUnit4---Hamcrest匹配器常用方法总结

一.Hamcrest是什么? Hamcrest is a library of matchers, which can be combined in to create flexible expres...
  • neven7
  • neven7
  • 2015年01月07日 16:49
  • 2538
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用hamcrest错误
举报原因:
原因补充:

(最多只允许输入30个字)