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

Pen*_*gin 7 scala sbt

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

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

axe*_*l22 6

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

import sbt._

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

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

}
Run Code Online (Sandbox Code Playgroud)

这与普通test任务相同,但最后没有附加依赖项.如果你想它有依赖,调用dependsOntestTask(...)表达,并提供你希望它取决于任务.

testTask(testFrameworks, testClasspath, testCompileConditional.analysis, testOptions).dependsOn(testCompile, copyResources, copyTestResources) 
Run Code Online (Sandbox Code Playgroud)