小编raa*_*tin的帖子

自定义hamcrest匹配器在单元测试中

在Grails中使用自定义hamcrest匹配器时遇到问题.使用我的匹配器运行测试失败:

java.lang.NoSuchMethodError: org.hamcrest.Matcher.describeMismatch(Ljava/lang/Object;Lorg/hamcrest/Description;)V
Run Code Online (Sandbox Code Playgroud)

经过一些谷歌搜索后,似乎这是由加载的库的顺序引起的:JUnit和Hamcrest.我在BuildConfig.groovy中添加了以下依赖项:

dependencies {
  test 'org.hamcrest:hamcrest-all:1.3'
}
Run Code Online (Sandbox Code Playgroud)

根据我能够找到的指令,可以通过确保在JUnit之前加载hamcrest类来解决这个问题.我不知道如何在Grails中实现这一点,或者如何以任何其他方式解决这个问题.

使用Grails 2.2.1

grails junit hamcrest matcher classloader

2
推荐指数
1
解决办法
490
查看次数

标签 统计

classloader ×1

grails ×1

hamcrest ×1

junit ×1

matcher ×1