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