spock中有一个有用的注释@TempDir,它可以帮助我们创建临时文件夹并自动删除它。注释类的全名如下:
com.github.goldin.spock.extensions.tempdir.TempDir
它通常在文件夹中创建临时文件夹,该文件夹定义为TMP环境变量。一个问题是:是否可以指定文件夹以某种方式创建临时文件夹的位置?
答案 0 :(得分:0)
您可以使用@RestoreSystemProperties
和System.setProperty()
:
@RestoreSystemProperties
class TmpSpec extends Specification {
def setup() {
System.properties['java.io.tmpdir'] = "target/test"
new File("target/test").mkdirs()
}
def "create a tmp file"() {
given: "a tmp file"
def file = File.createTempDir()
expect:
file.path.contains("target/test")
}
}
如果您希望在测试期间对此功能进行更多控制,则可以创建自己的JUnit @Rule。