Grails在一个模拟对象上测试一个闭包

时间:2016-10-07 11:09:31

标签: unit-testing grails groovy

您好我有以下简单的功能:

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

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

1 个答案:

答案 0 :(得分:0)

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

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

测试应检查传递给函数的不同参数和不同类型的参数。 例如:null,[]," ",日期,常规字符串,数字等...