代码之家  ›  专栏  ›  技术社区  ›  Hoof

Grails 2.3使用IVY解析器进行单元测试

  •  3
  • Hoof  · 技术社区  · 11 年前

    如果我这样做了 create-app 使用grails 2.3,创建一个简单的spock单元测试,并将配置更改为使用ivy解析器:

    grails.project.dependency.resolver = "ivy" // or maven
    

    单元测试崩溃,并出现以下错误:

    | Running without daemon...
    | Running 1 unit test...
    | Running 1 unit test... 1 of 1
    | Error Error running unit tests: org/hamcrest/SelfDescribing (NOTE: Stack trace has been filtered. Use --verbose to see entire trace.)
    java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
            at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
            at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
            at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
            at org.junit.runner.JUnitCore.run(JUnitCore.java:117)
            at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1259)
            at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1259)
            at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1259)
    Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
            ... 7 more
    | Error Error running unit tests: org/hamcrest/SelfDescribing
    | Running 1 unit test....
    | Running 1 unit test.....
    | Tests FAILED  - view reports in C:\ivytry\foobar\target\test-reports
    

    有什么办法绕过这个吗?我们需要使用Ivy的原因是Maven似乎不支持自定义远程存储库,我需要在其中指定用户名/密码-此外,在buildconfig中,但我不希望我的凭据处于源代码管理下:)

    编辑(已解决): 查看评论!

    1 回复  |  直到 11 年前
        1
  •  0
  •   Hoof    9 年前

    这个问题是因为idea 12和grails 2.3的“臭名昭著”的intellij修复——恢复“sources”和“javadoc”jar文件,修复了这个问题!