7

在 Java Eclipse 项目中进行认真的重构时,我经常会破坏构建,但专注于一次通过一个测试。运行测试时,Eclipse 会警告该项目无法编译,但它仍会运行它可以编译的测试。

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

4

1 回答 1

6

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

import sbt._

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

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

}

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

testTask(testFrameworks, testClasspath, testCompileConditional.analysis, testOptions).dependsOn(testCompile, copyResources, copyTestResources) 
于 2011-02-24T13:13:00.103 回答