Package spock.lang
Annotation Type TempDir
-
@Beta @Retention(RUNTIME) @Target(FIELD) public @interface TempDir
Generate a temp directory for test, and delete it after test.@TempDir
can be used to annotate a member field of typeFile
,Path
, or untyped likedef
/Object
in a spec class (untyped field will be injected withPath
).Alternatively, you can use it with any class that has a public constructor with a single
File
orPath
parameter, likeFileSystemFixture
this way you can use your own utility classes for file manipulation.If the annotated field is shared, the temp directory will be shared in this spec, otherwise every iteration will have its own temp directory.
Example:
@TempDir File testFile // will inject a File @TempDir Path testPath // will inject a Path @TempDir def testPath // will inject a Path @TempDir FileSystemFixture fsFixture // will inject an instance of FileSystemFixture with the temp path injected via constructor
- Since:
- 2.0