在 Java Eclipse 项目中进行认真的重构时,我经常会破坏构建,但专注于一次通过一个测试。运行测试时,Eclipse 会警告该项目无法编译,但它仍会运行它可以编译的测试。
现在我正在使用 SBT 并希望通过“仅测试”实现相同的目标,但它尝试编译整个项目,失败,并且不运行测试。我怎么能告诉它只编译它可以编译的位并运行测试。
您应该将以下任务添加到您的项目定义中:
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)