当前位置: 首页 > 知识库问答 >
问题:

如何在Groovy中设置final字段

姚星宇
2023-03-14

我在groovy/spock中测试了一个java类。java类有最后一个字段:

private static final log = Logger.getLogger(...)

我想测试一个方法是否使用这个记录器,最好是使用模拟。问题是这个字段是最终的,所以我不能直接设置它。我知道有一些变通方法,比如:

修改ield.set字段field.get

但这些都是可怕的黑客。有没有更好的方法?

共有1个答案

长孙泉
2023-03-14

您可以尝试通过配置记录器而不是模拟记录器来测试日志记录。

也许,配置你的记录器直接输出到一个文件。然后编写一个自定义Groovy布尔函数,检查可以从spock测试调用的文件内容。

Java日志配置非常灵活,所以如果需要,您可能会想出一些避免使用临时文件的方法。

 类似资料:
  • 问题内容: 假设我在Jenkins中有一个Groovy脚本,其中包含多行shell脚本。如何在该脚本中设置和使用变量?正常方式会产生错误: 捕获:groovy.lang.MissingPropertyException:否这样的属性:foo对于类:groovy.lang.Binding 问题答案: 您需要更改为三重单引号或转义美元 然后,您将跳过常规模板,这就是给您这个问题的原因

  • 本文向大家介绍如何在HTML中设置字体颜色?,包括了如何在HTML中设置字体颜色?的使用技巧和注意事项,需要的朋友参考一下 要在HTML中设置字体颜色,请使用样式属性。style属性指定元素的内联样式。该属性与HTML <p>标记一起使用,具有CSS属性颜色。HTML5不支持<font>标记,因此CSS样式用于添加字体颜色。<font>标记在HTML5中已弃用。 请记住,样式属性的使用会覆盖全局设

  • 选择文字 选择字符后,您可以编辑字符、使用“字符”面板设置字符格式、为字符应用填充和描边属性以及更改字符的透明度。您可以将这些更改应用于一个字符、某一范围的字符或文字对象中的所有字符。选择字符后,将在文档窗口中突出显示这些字符,并在“外观”面板中显示文字“字符”。 选择某个文字对象后,您可以为该对象中的所有字符应用全局格式设置选项,其中包括“字符”和“段落”面板中的选项、填充和描边属性以及透明度设

  • 我的问题是如何在android中的自定义listview中更改印地语字体。我正在使用此代码Typeface hIndiFont=Typeface.createFromAsset(getAsset(),"fonts/DroidHindi.ttf "); // 将menuItems添加到ListView 请帮帮我。提前谢谢!!!!!!!!! 我正在重写getView方法,但无法工作。请帮帮我。

  • 问题内容: 创建像这样的结构后: 如何创建Foo的新实例并设置并获取名称?我尝试了以下方法: 没有打印任何内容,因为名称为空。那么如何设置结构中的字段? 工作操场 问题答案: 评论(和工作)示例: 测试并进行Go之旅,以了解有关方法和指针以及Go的基础知识的更多信息。