我想编写测试来测试外部化配置的行为并断言设置的内容是我所期望的。这是针对执行此类操作的特定情况:
配置.groovy:
a.reused.value = 'orig' my.variable = '${a.reused.value}'
外部化的 groovy 文件:
a.reused.value = 'new_value'
我希望 a.reused.value 和 my.variable 都是“new_value”。
现在,我想我可以让我的单元测试读取代表这些配置文件的字符串(例如,我为其他单元测试做类似的事情来填充 Holders.grailsApplication.config),也许利用合并?
但我想不通的是如何获得 Grails 在应用程序运行时实际获得的价值。相反,我在单元测试中得到“${a.reused.value}”。
有没有办法模仿 Grails 实际解决这个值的行为?我在 Grails 2.4.4 源代码(这是我们正在使用的)中进行了一些挖掘,但在弄清楚这部分时没有任何运气。我也尝试过 Eval.me(),但这似乎也不太正确。