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: [\]