如何在sbt运行的测试中获取构建输出目录?

问题描述 投票:2回答:1

我需要为一些测试创建目录和文件。我的项目使用sbt作为构建工具,通常的做法是使用File.createTempFile或类似的API,但是我反对这种做法。我希望测试创建的所有文件都驻留在输出目录(<module>/target/)内的某个位置,以便在运行clean时将其删除,但如果需要它们以找出测试失败,可以将其保留。

测试框架是不相关的:如果您的解决方案需要特定的框架,我会很乐意采用它或弄清楚它是如何实现并使用的。

总之,我需要回答以下两个问题之一:

  • 如何从sbt运行的测试中在构建输出目录中创建文件?
  • 如何从sbt运行的测试中找出当前项目的构建输出目录是什么?
scala sbt
1个回答
0
投票

在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}")
© www.soinside.com 2019 - 2024. All rights reserved.