我有一个项目admp
,汇总了3个子项目:
lazy val admp = (project in file("."))
.aggregate(common, regression, integration)
.settings(commonSettings)
当我执行test:console
命令时,不包括子项目中的测试类:
sbt:admp> test:console
[info] Starting scala interpreter...
Welcome to Scala 2.11.9 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_151).
Type in expressions for evaluation. Or try :help.
scala> import me.enreach.qa.Aerospike._
<console>:11: error: not found: value me
import me.enreach.qa.Aerospike._
^
只有当我运行common/test:console
命令时,它才会加载类:
sbt:admp> common/test:console
[info] Starting scala interpreter...
Welcome to Scala 2.11.9 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_151).
Type in expressions for evaluation. Or try :help.
scala> import me.enreach.qa.Aerospike._
import me.enreach.qa.Aerospike._
import me.enreach.qa.Aerospike._
有没有办法从所有子项目加载类?
答案 0 :(得分:1)
您可以通过在测试范围中添加子项目的依赖项来实现它。将其添加到您的admp
项目定义中:
.dependsOn(
common % "test->test",
regression % "test->test",
integration % "test->test"
)
这样您就可以说admp
的测试配置取决于每个子项目的测试配置。您可以在关于configurations mapping的sbt文档中阅读更多内容。
现在,当您运行admp/test:console
时,您应该可以访问所有子项目&#39;测试来源。