【问题标题】:Spock framework throwing error while mocking a @componentSpock框架在模拟@component时抛出错误
【发布时间】:2017-07-04 07:49:10
【问题描述】:

我在 Spring 中使用 Spock,但在模拟我的一个组件类时出错。

请找到下面的堆栈跟踪。 它仅此而已,因此我无法继续。 版本:

  • cglib-nodep:3.2.0
  • cglib:3.2.0
  • spock-core : 1.0-groovy-2.4
  • 弹簧测试:4.1.4.RELEASE

    java.lang.NoClassDefFoundError: 无法初始化类 org.spockframework.mock.runtime.ProxyBasedMockFactory$CglibMockFactory$ConstructorFriendlyEnhancer 在 org.spockframework.mock.runtime.ProxyBasedMockFactory$CglibMockFactory.createMock(ProxyBasedMockFactory.java:80) 在 org.spockframework.mock.runtime.ProxyBasedMockFactory.create(ProxyBasedMockFactory.java:49) 在 org.spockframework.mock.runtime.JavaMockFactory.create(JavaMockFactory.java:51) 在 org.spockframework.mock.runtime.CompositeMockFactory.create(CompositeMockFactory.java:44) 在 org.spockframework.lang.SpecInternals.createMock(SpecInternals.java:45) 在 org.spockframework.lang.SpecInternals.createMockImpl(SpecInternals.java:281) 在 org.spockframework.lang.SpecInternals.MockImpl(SpecInternals.java:99) 在 TermsAndConditionsControllerAPISpec.setup(TermsAndConditionsControllerAPISpec.groovy:19)

【问题讨论】:

  • 请更新到 spock 1.1-groovy-2.4 并使用 byte-buddy。

标签: spring spring-security mocking spock


【解决方案1】:

不知道为什么会发生这种情况,但我刚刚删除了 cglib 并且它正常工作。 所以最终的依赖列表是: cglib-nodep:3.2.0 spock-core:1.0-groovy-2.4 弹簧测试:4.1.4.RELEASE

我仍然不确定为什么通过删除 cglib 会起作用。如果有人对此有详细的原因,请分享。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    • 2020-02-09
    • 2015-05-24
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多