Unit testing Grails:ConfigObject.plus()在集成测试中不可用

Unit testing Grails:ConfigObject.plus()在集成测试中不可用,unit-testing,testing,grails,missingmethodexception,Unit Testing,Testing,Grails,Missingmethodexception,我正在测试一个使用配置属性并将其连接到字符串的服务,如下所示: GrailsConfig.config.test.directory + System.getProperty('file.separator') + <filename> 为什么plus操作符在我的集成(或单元)测试中不可用 谢谢你的帮助 Jonas我想grailscanfig.config.test.directory应该返回一个字符串,但它返回的是ConfigObject(不会使+运算符过载)。我从未在集成测

我正在测试一个使用配置属性并将其连接到字符串的服务,如下所示:

 GrailsConfig.config.test.directory + System.getProperty('file.separator')
 + <filename>
为什么plus操作符在我的集成(或单元)测试中不可用

谢谢你的帮助


Jonas

我想
grailscanfig.config.test.directory
应该返回一个字符串,但它返回的是
ConfigObject
(不会使+运算符过载)。我从未在集成测试中尝试过使用
GrailsConfig
,所以我不知道这段代码是否能正常工作


更好的方法可能是使用来模拟配置值。

这是您在未定义配置变量时看到的错误。您可能在另一个环境中定义了
test.directory
,但没有定义
test
环境


在单元测试中,您应该按照Don的回答使用mockConfig,但在集成测试中,您可以像运行应用程序一样使用grails配置框架。

好的,我发现了问题。。。使用
mockConfig
时,所有字符串属性都必须用引号括起来,而out-config属性文件中的情况并非如此

groovy.lang.MissingMethodException: No signature of method:
groovy.util.ConfigObject.plus() is applicable for argument types:
(java.lang.String) values: [\]