多项目中的SBTtesting相关性:使testing代码适用于相关项目

我有一个SBT多项目,其中一些项目相互依赖。 喜欢这个:

lazy val coreProject: Project = Project( id = "core-project", base = file("./core-project"), // other stuff )) lazy val extensions: Project = Project( id = "extensions", base = file("./extensions"), dependencies = Seq(coreProject) ) 

现在我在test-folder的'core'项目中有一些testing代码。 还有像嘲笑和testing实用程序的东西。 现在我想在扩展的testing中使用这些testing实用程序。 对于生产代码这个工作,因为我宣布了依赖。 但是,依赖关系似乎不适用于testing。 当我运行testing时,我得到缺less类的编译错误。 这些类来自核心项目中的testing代码。

我怎么能告诉sbt依赖关系还应该包含testing范围的testing代码? 所以我可以在“exension”项目的testing代码中重复使用我的模拟?

像这样:

 dependencies = Seq(coreProject % "compile->compile;test->test") 

这将在Getting-Started-Multi-Project指南的“Per-configuration classpath dependencies”一节中讨论。

你也可以在初始项目声明之后用.dependsOn(coreProject % "compile->compile;test->test)来做到这一点。

 lazy val coreProject = Project("core-project") lazy val extensions = Project("extensions").dependsOn(coreProject % "compile->compile;test->test)