首页 > 解决方案 > 使用“测试”范围定义的父项目的依赖关系在派生项目中不可见

问题描述

假设项目 A 具有以下依赖项。

"org.testng" % "testng" % "6.14.3" % "test",
"org.scalatest" %% "scalatest" % "3.0.3" % "test",
"org.scalacheck" %% "scalacheck" % "1.14.0" % "test",
"org.hamcrest" % "hamcrest-core" % "1.3" % "test"

还有一个项目 B 依赖于项目 A 通过sbt.Project.dependsOn(projectA).

项目 B 中的测试由于缺少org.scalatest.*.

这是设计使然吗?我该如何克服呢?

标签: scaladependenciessbt

解决方案


看起来默认情况下.dependsOn只使用compile范围。为了使它适用于测试,我必须更改为

.dependsOn(projectA % "compile->compile;test->test")

更多关于它的信息在这里


推荐阅读