在ScalaTest/sbt/Intellij中运行之前,如何删除目录?

在ScalaTest/sbt/Intellij中运行之前,如何删除目录?,scala,sbt,scalatest,Scala,Sbt,Scalatest,我目前在Scala 2.11.8项目中使用ScalaTest 3.0.1,sbt 0.13.18作为构建工具。IDE是Intellij 该项目是一个Spark项目,我在root/temp/中使用一个临时目录作为检查点和仓库。当我多次运行测试时,检查点不断增加,最终达到非常大的规模。我想在测试运行之后保留检查点,以便它们可以用于验证,但我想在下次运行之前删除它们 如何在Intellij中使用sbt和ScalaTest来实现这一点 我一直在考虑在build.sbt中设置一个sbt clean临时目录

我目前在Scala 2.11.8项目中使用ScalaTest 3.0.1,sbt 0.13.18作为构建工具。IDE是Intellij

该项目是一个Spark项目,我在
root/temp/
中使用一个临时目录作为检查点和仓库。当我多次运行测试时,检查点不断增加,最终达到非常大的规模。我想在测试运行之后保留检查点,以便它们可以用于验证,但我想在下次运行之前删除它们

如何在Intellij中使用sbt和ScalaTest来实现这一点

我一直在考虑在
build.sbt
中设置一个
sbt clean
临时目录,但我似乎无法让它删除该目录,阅读文档提示,它只会删除sbt创建的文件,所以我放弃了这个想法

我目前正在考虑设置我的ScalaTest设置,以便有一个将删除目录的BeforeAll事件,但我不确定这是正确的方法,而且我在使其工作时遇到了问题。

基于
clean
可以包括
temp
目录

cleanFiles += baseDirectory.value / "temp"
另一个选项是创建一个自定义任务来清理
temp
,例如使用

其中
project/plugins.sbt
包含

libraryDependencies += "com.github.pathikrit" %% "better-files" % "3.9.1"
我们可以这样清洁然后测试

deleteTestTemp;test

“IDE是Intellij。”那又如何?包括它以防相关,因为我注意到Intellij有时对sbt的处理很奇怪。我还刚刚意识到我没有使用这些版本,所以我将添加它们。第一种方法是与我以前使用的代码完全相同的代码,但不起作用。当我
检查干净的文件时
我确实看到了列出的目录,但当我使用
最后一个
命令时,我看不到任何详细信息。它只是快速运行,不删除任何文件。我正在尝试第二种方法,但似乎无法导入更好的.files.\u即使我有模块。@关于第一种方法,如果执行
show cleanFiles
,它是否列出
temp
目录?关于第二种方法,确保在根项目的
project/plugins.sbt
project/build.sbt
下添加依赖项,而不是
builld.sbt
,因为它需要是元项目的一个依赖项,而不是项目本身,如果我执行
show clean files
show clean files
,我确实会看到
temp
目录列在这两个目录中,尽管它仍然没有被删除。如果我将您在我的
项目/plugins.sbt
Intellij中提到的
libraryDependency
放入,则会提示
表达式类型Def.Setting[Seq[ModuleID]]必须符合sbt文件中的DslEntry,并且无法解析依赖关系。我尝试了
addSbtPlugin
,它也有同样的问题。我似乎无法让它真正找到这种依赖性。
deleteTestTemp;test