繁体   English   中英

void方法的模拟参数

[英]Mocking parameter of a void method

假设我有以下设置器:

public void setNewPath(final String path) {
  if (StringUtils.hasText(path) && !path.endsWith(File.separator)) {
            this.newPath = path + File.separator;
        } else {
            this.newPath = path;
        }
    }

我想在测试方法中模拟参数path 那可能吗?

这不是嘲笑的好问题。 鉴于字符串是不可变的,在任何情况下都不会在适当的地方修改参数,尽管模拟可以告诉您是否调用了方法,但它不会让您跟踪要进行的修改的值。

正如Brian Agnew在评论中发布的那样,“使用各种输入来测试方法,并断言某些行为(例如newPath的设置)”。 确保newPath具有吸气剂,即使该吸气剂仅用于测试(并已记录在文档中)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM