使用SBT在损坏的项目中运行测试

时间:2011-02-24 12:06:23

标签: scala sbt

在Java Eclipse项目中进行严格的重构时,我经常会破坏构建,但是要集中精力让一次测试通过。在运行测试时,Eclipse警告项目无法编译,但它仍然会运行它可以编译的测试。

现在我正在使用SBT,并希望通过'仅测试'实现相同的功能,但它会尝试编译整个项目,失败,并且不会运行测试。我怎么能告诉它只需编译它可以运行测试。

1 个答案:

答案 0 :(得分:6)

您应该将以下任务添加到项目定义中:

import sbt._

class Project(info: ProjectInfo) extends DefaultProject(info) {

  lazy val justTest = testTask(testFrameworks, testClasspath, testCompileConditional.analysis, testOptions)

}

这与普通test任务相同,但最后没有附加依赖项。如果您希望它具有依赖关系,请在dependsOn表达式上调用testTask(...)并提供您希望它依赖的任务。

testTask(testFrameworks, testClasspath, testCompileConditional.analysis, testOptions).dependsOn(testCompile, copyResources, copyTestResources)