如何删除ScalaTest/sbt/Intellij中运行之前的目录?
How do you delete a directory before running in ScalaTest/sbt/Intellij?
我目前正在为我的 Scala 2.11.8 项目使用 ScalaTest 3.0.1,并将 sbt 0.13.18 作为构建工具。 IDE 是 Intellij。
该项目是一个 Spark 项目,我在 root/temp/
使用一个临时目录作为检查点和仓库。当我 运行 测试多次时,检查点会不断添加,最终达到非常大的尺寸。我想在测试 运行s 之后保留检查点,以便它们可以用于验证,但我想在下一个 运行.
之前删除它们
如何在 Intellij 中使用 sbt 和 ScalaTest 完成此操作?
我一直在考虑在 build.sbt
中使用我的临时目录设置一个 sbt clean
,但我似乎无法删除该目录,阅读文档提示它会只删除 sbt 创建的文件,所以我放弃了这个想法。
我目前正在考虑将我的 ScalaTest 设置为有一个将删除目录的 BeforeAll 事件,但我不确定这是正确的方法,而且我在让它工作时遇到了问题.
基于clean
可以包括temp
目录
cleanFiles += baseDirectory.value / "temp"
另一种选择是创建一个自定义任务来清理 temp
,例如使用 better-files
lazy val deleteTestTemp = taskKey[Unit]("Delete test temp directory")
deleteTestTemp := {
import better.files._
val temp = (baseDirectory.value / "temp").toScala
if (temp.exists) temp.delete()
}
其中 project/plugins.sbt
包含
libraryDependencies += "com.github.pathikrit" %% "better-files" % "3.9.1"
我们可以像这样清理然后测试
deleteTestTemp;test
我目前正在为我的 Scala 2.11.8 项目使用 ScalaTest 3.0.1,并将 sbt 0.13.18 作为构建工具。 IDE 是 Intellij。
该项目是一个 Spark 项目,我在 root/temp/
使用一个临时目录作为检查点和仓库。当我 运行 测试多次时,检查点会不断添加,最终达到非常大的尺寸。我想在测试 运行s 之后保留检查点,以便它们可以用于验证,但我想在下一个 运行.
如何在 Intellij 中使用 sbt 和 ScalaTest 完成此操作?
我一直在考虑在 build.sbt
中使用我的临时目录设置一个 sbt clean
,但我似乎无法删除该目录,阅读文档提示它会只删除 sbt 创建的文件,所以我放弃了这个想法。
我目前正在考虑将我的 ScalaTest 设置为有一个将删除目录的 BeforeAll 事件,但我不确定这是正确的方法,而且我在让它工作时遇到了问题.
基于clean
可以包括temp
目录
cleanFiles += baseDirectory.value / "temp"
另一种选择是创建一个自定义任务来清理 temp
,例如使用 better-files
lazy val deleteTestTemp = taskKey[Unit]("Delete test temp directory")
deleteTestTemp := {
import better.files._
val temp = (baseDirectory.value / "temp").toScala
if (temp.exists) temp.delete()
}
其中 project/plugins.sbt
包含
libraryDependencies += "com.github.pathikrit" %% "better-files" % "3.9.1"
我们可以像这样清理然后测试
deleteTestTemp;test