我正在为 Grails 开发一个 JavaScript 测试插件。我编写了一些 Groovy 类来执行我存储在 src/groovy 文件夹中的测试。我在插件的 _Events.groovy 脚本中 Hook 测试事件并注入(inject)测试运行程序的实例。从测试运行器的那个实例中,我需要访问存储在 src/js 中的 JavaScript 文件来执行测试。
plugin documentation指定一种从我的 Gant 脚本中获取路径的方法,但这在其他地方不起作用。我也尝试访问 GrailsApplication
通过 grailsApplication
或 ApplicationHolder
,但我得到 null
.最后,我尝试访问 BuildSettings
和 ConfigurationHolder
,但那些向我展示了一个空配置。
为了使我的插件工作,我目前正在将 JavaScript 文件复制到应用程序的 test/resources 文件夹中,因此它位于相对于工作目录的已知位置,我假设它是项目文件夹。这对我来说是侵入性和脆弱的,所以我想找出一个“正确”的方法。
如何从我的测试运行程序中获取我的插件的路径,以便我可以找到这些文件?
最佳答案
如果您有 BuildSettings 和 pluginManager
bean(使用 def pluginManager
或通过 PluginManagerHolder 注入(inject)依赖项)然后您可以使用
new File(buildSettings.projectPluginsDir, pluginManager.getPluginPath('foo'))
关于grails - 如何从同一插件中的 src 文件访问我的 Grails 插件中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8329739/