难以实现在 Grails 中使用的自定义 hamcrest 匹配器。使用我的匹配器运行测试失败:
java.lang.NoSuchMethodError: org.hamcrest.Matcher.describeMismatch(Ljava/lang/Object;Lorg/hamcrest/Description;)V
经过一番谷歌搜索,这似乎是由加载库的顺序引起的:JUnit 和 Hamcrest。我在 BuildConfig.groovy 中添加了以下依赖项:
dependencies {
test 'org.hamcrest:hamcrest-all:1.3'
}
根据我能够找到的说明,这可以通过确保在 JUnit 类之前加载 hamcrest 类来解决。我不知道如何在 Grails 中实现这一点,或者如何以任何其他方式解决这个问题。
使用 Grails 2.2.1