有什么方法可以模拟文件以在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/