7
我有一个scala编译器项目,有些测试用例依赖于生成的jar文件 因此,我总是在运行“测试”之前手动运行“包”任务如何在'测试'之前运行“包”
我如何添加一个SBT任务,会做的“测试”的工作,但将取决于“一揽子”
我有一个scala编译器项目,有些测试用例依赖于生成的jar文件 因此,我总是在运行“测试”之前手动运行“包”任务如何在'测试'之前运行“包”
我如何添加一个SBT任务,会做的“测试”的工作,但将取决于“一揽子”
SBT 0.12:?
以下内容添加到您的项目设置:
(test in Test) <<= (test in Test) dependsOn (Keys.`package` in Compile)
这会更改您项目的测试任务。但你也可以定义自己的任务:
val myTestTask = TaskKey[Unit]("my-test-task", "runs package and then test")
然后添加到您的项目设置:
myTestTask <<= (test in Test) dependsOn (Keys.`package` in Compile)
SBT 0.13:
以下内容添加到您的项目设置:
(test in Test) := {
(Keys.`package` in Compile).value
(test in Test).value
}
这改变了测试任务哟你的项目。但你也可以定义自己的任务:
val myTestTask = taskKey[Unit]("runs package and then test")
然后添加到您的项目设置:
myTestTask := {
(Keys.`package` in Compile).value
(test in Test).value
}
我收到以下错误'build.sbt:21:错误:EOF预期,但“包'found.' '(test in Test)<< =(test in Test)dependsOn package' – dips
我不得不将它改成'(test in Test)<< =(test in Test)dependsOn(Keys。\ '编译中的package'')'。这是通常的方式,还是我的设置特有的东西?请注意,省略'Keys'会导致错误'对包的引用不明确。它在相同的作用域中导入两次,导入Keys._并导入sbt._' – dips
@dips这是一个与Scala的'package'关键字不幸的冲突。 –