在Java Eclipse项目中进行严格的重构时,我经常会破坏构建,但是要集中精力让一次测试通过。在运行测试时,Eclipse警告项目无法编译,但它仍然会运行它可以编译的测试。
现在我正在使用SBT,并希望通过'仅测试'实现相同的功能,但它会尝试编译整个项目,失败,并且不会运行测试。我怎么能告诉它只需编译它可以运行测试。
答案 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)