Grails java.io.File模拟

标签 grails spock

有什么方法可以模拟文件以在Grails中进行单元测试?

我需要测试文件大小和文件类型,如果可以模拟这些文件,这将有所帮助。

与资源的任何链接都将有所帮助。

最佳答案

您可以使用Spock在Groovy代码中模拟java.io.File。

这是一个如何做的例子:

import spock.lang.Specification

class FileSpySpec extends Specification {
    def 'file spy example' () {
        given:
        def mockFile = Mock(File)
        GroovySpy(File, global: true, useObjenesis: true)
        when:
        def file = new File('testdir', 'testfile')
        file.delete()
        then :
        1 * new File('testdir','testfile') >> { mockFile }
        1 * mockFile.delete()
    }
}

这个想法是从具有期望参数的java.io.File构造函数调用期望返回文件的Spock模拟。

关于Grails java.io.File模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23051852/

相关文章:

grails - GPath表达式:使用HTML元素的值作为参数

hibernate - 3个实体之间的域关联

grails - 使用带有可搜索插件的自定义ID列映射

unit-testing - 测试具有来自src/groovy的bean的grails Controller

java - Setter 不替换字符串中的字符

grails - 从grails的家中删除.grails文件夹后出现错误

java - 使用 Gradle 和 Groovy/Spock 测试 Java 6 库或应用程序

grails - 如何使用 Spock 和 Grails 2 模拟服务方法的接口(interface)参数?

spock - 如何使用Spock框架进行参数捕获?

android - 在测试构建脚本中找不到操作栏 Sherlock