0

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

 GrailsConfig.config.test.directory + System.getProperty('file.separator')
 + <filename>

运行包含上述代码的上述方法的测试时,我收到以下错误:

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

为什么加号运算符在我的集成(或单元)测试中不可用?!

任何帮助表示赞赏

乔纳斯

4

3 回答 3

1

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

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

于 2011-10-17T17:38:25.813 回答
0

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

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

于 2011-10-17T08:36:33.370 回答
0

好的,我发现了问题...使用时,所有字符串属性都必须用引号引起来mockConfig,而在 out config 属性文件中则不然。

于 2011-10-18T02:45:47.760 回答