【问题标题】:Grails testing a closure on a mocked objectGrails 在模拟对象上测试闭包
【发布时间】:2016-10-07 11:09:30
【问题描述】:

嗨,我有以下简单的功能:

  public static writeToFile(File productsFile,Param param) {
        ByteArrayOutputStream outputStream = (ByteArrayOutputStream)getOutputStream(Param param)
        productsFile.withDataOutputStream {stream ->
            outputStream.writeTo(stream)
        }
        return productsFile
    }

对它进行单元测试的最佳方法是什么?请记住,这个函数获取一个文件,我认为它不是一个好主意为单元测试创​​建一个文件,所以我可能想模拟它。

【问题讨论】:

    标签: unit-testing grails groovy


    【解决方案1】:

    我认为没有必要模拟文件,因为在单元测试运行时没有需要控制的功能(在文件对象中)。

    您可以检查的主要功能是写入文件,这就是为什么没有必要为文件创建 Mock 的原因。

    测试应该检查你传递给函数的不同参数和不同类型的参数。 例如:null、[ ]、" "、Date、regularString、数字等...

    【讨论】:

    • 感谢您的回答,可以说 getOutputStream(Param param) 已经过测试。您能否在答案中添加一些伪代码,以便我理解您的观点。
    猜你喜欢
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    相关资源
    最近更新 更多