【问题标题】:Grails 2.4.0 - Error: ClassNotFoundException: grails.plugin.spock.test.GrailsSpecTestTypeGrails 2.4.0 - 错误:ClassNotFoundException:grails.plugin.spock.test.GrailsS​​pecTestType
【发布时间】:2014-10-28 06:30:14
【问题描述】:

每当我输入 grails 命令时:test-app 我都会收到此错误:

Error executing script TestApp: java.lang.ClassNotFoundException: grails.plugin.spock.test.GrailsSpecTestType (Use --stacktrace to see the full trace)

在我的 BuildConfig.groovy 中有:

grails.project.dependency.resolution = {
    ...
    plugins {
        ...
        compile ":spock:0.7"
    }
}

我尝试将其替换为 test ":spock:0.7" 。我也尝试过清理应用程序并刷新依赖项,但没有运气。

任何想法它可能是什么以及我如何解决它?

谢谢

【问题讨论】:

  • 您尝试过最新版本的 Grails 吗? 2.4.3?他们修复了许多错误!
  • 我也遇到了同样的问题。但我正在运行 grails 2.3.9。你知道在这种情况下我该怎么办吗?

标签: grails classnotfoundexception spock


【解决方案1】:

使用 Grails 2.4.0,您无需在 BuildConfig.groovy 中提及 Spock。请参阅https://github.com/jeffbrown/spockdemo 的示例项目。

如果可以,您应该考虑升级到 2.4.x 行中的最新版本。自 2.4.0 发布以来,已经解决了许多问题。

希望对你有帮助。

【讨论】:

  • 感谢您的意见。不幸的是,我使用的代码与最新版本的 Grails 不兼容,因此升级不是一种选择。还有其他建议吗?
  • 我在上面链接的项目显示了如何使用 2.4.0 执行此操作。您无需在 BuildConfig.groovy 中提及 Spock。
【解决方案2】:

@zzKozak 是正确的 - 你应该升级。它在这里没有任何意义,但是在您向其他人寻求帮助之前,应该先在您的次要版本(在本例中为 2.4.3)中获取 Grails 的最新版本,而这些问题可以通过简单的升级自行解决。

在 2.4 中,Grails 默认切换到 Spock 测试,您必须卸载旧插件,因为它们不兼容。在 BuildConfig.groovy 中删除该行,并将您的基类更改为新 Grails/Spock 基类的核心。对于集成查询,请使用 grails.test.spock.IntegrationSpec。有关单元测试和更多信息,请查看文档中的测试部分:http://grails.org/doc/latest/guide/testing.html

【讨论】:

  • “简单升级”在企业环境中不一定简单。你不现实。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-14
  • 1970-01-01
  • 2019-04-15
  • 1970-01-01
  • 2014-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多