【问题标题】:Grails Fixture plugin keeps saying build-test-data plugin is not installedGrails Fixture 插件一直说未安装 build-test-data 插件
【发布时间】:2014-10-29 20:24:33
【问题描述】:

我在BuildConfig.groovy 中有以下依赖声明:

plugins {
    test ':build-test-data:2.2.1'
    test ':fixtures:1.3'
}

我已经在终端和我的 IDE (Eclipse) 上运行了 refresh-dependencies,但每次运行测试时都会得到:

grails.plugin.fixtures.exception.FixtureException: build feature is unavailable as build-test-data plugin is not installed
    at grails.plugin.fixtures.builder.FixtureBuilder.assertBuildTestDataPluginInstalledIfNeeded(FixtureBuilder.groovy:135)
    at grails.plugin.fixtures.builder.FixtureBuilder.beans(FixtureBuilder.groovy:104)
    at grails.plugin.fixtures.builder.FixtureBuilder.build(FixtureBuilder.groovy:82)
    at grails.plugin.fixtures.Fixture.build(Fixture.groovy:48)
    at grails.plugin.fixtures.FixtureLoader.build(FixtureLoader.groovy:54)

我查了FixtureBuilder code,发现下面一行:

Holders.pluginManager.hasGrailsPlugin('build-test-data')

我创建了一个单独的测试来检查此行返回的内容,但无论使用什么插件(在 BuildConfig.groovy 中声明)我都将 'build-test-data' 替换为,它总是返回 false

我该如何解决这个问题?

【问题讨论】:

  • 我猜你已经尝试输入grails clean-all ?
  • 它有什么作用?我什至尝试创建一个新的 Grails 项目来检查它是否有效,但我得到了同样的结果。
  • 快速尝试将这些行注释掉,run-app 然后取消注释并再次运行应用程序

标签: grails grails-plugin


【解决方案1】:

BuildConfig 中有四个可能的选项来配置插件:

  • 构建
  • 编译
  • 运行时
  • 测试

FixtureBuild 插件配置为在test 中使用,您应该将其更改为runtime,以便在运行应用程序时在BootStrap 中使用它们。

【讨论】:

  • 现在,我并不是要在其他地方使用该插件,而是在测试中使用该插件,但即使将范围更改为runtime,我仍然会遇到同样的错误。
  • runtime ":build-test-data:2.2.1" ///runtime ":fixtures:1.3.1-SNAPSHOT" 你运行的是什么grails版本?
  • 灯具插件的快照仍然不起作用。我正在使用 Grails 2.4.3。
猜你喜欢
  • 2013-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-26
  • 1970-01-01
  • 1970-01-01
  • 2012-06-24
  • 2012-09-16
相关资源
最近更新 更多