我需要为一些测试创建目录和文件。我的项目使用sbt作为构建工具,通常的做法是使用File.createTempFile
或类似的API,但是我反对这种做法。我希望测试创建的所有文件都驻留在输出目录(<module>/target/
)内的某个位置,以便在运行clean
时将其删除,但如果需要它们以找出测试失败,可以将其保留。
测试框架是不相关的:如果您的解决方案需要特定的框架,我会很乐意采用它或弄清楚它是如何实现并使用的。
总之,我需要回答以下两个问题之一:
在ScalaTest中,尝试传递target
target
至settingKey[File]("Main directory for files generated by the build.")
为config map。例如,在-Dkey=value
中指定
build.sbt
然后像这样定义测试
Test / testOptions += Tests.Argument(s"-DtargetDir=${target.value}")