ScalaTest 需要使用多项目 sbt 进行设置
ScalaTest needed settings with multi-project sbt
我也无法 运行 测试,因为它们中的任何一个都被检测到,当编译器抱怨时,这是在向我解释我无法从 /core/src/main 中导入 类 in /core/src/test 当我在核心项目中交互 运行ning sbt 时。
这是我使用的基本配置。
文件夹组织
|
| build.sbt
|
|-------------- core | src ------------| main | scala | files...
| | build.sbt | test | scala | files...
|
|-------------- proj1 | src ----------- | main | scala | files...
| | build.sbt | test | scala | files...
这里是build.sbt
的一些和平
lazy val deps = Seq(
"org.scalactic" %% "scalactic" % "3.1.2",
"org.scalatest" %% "scalatest" % "3.1.2" % "test"
)
lazy val coreDeps = libraryDependencies ++= deps
lazy val core = (project in file("core"))
.settings(coreDeps)
lazy val proj1 = (project in file("proj1"))
.settings(coreDeps)
.dependsOn(core)
您只需按照评论中的说明进行操作:使用 settings
方法应用设置:
lazy val core = (project in file("core"))
.settings(
libraryDependencies ++= Seq(
"org.scalactic" %% "scalactic" % "3.1.2",
"org.scalatest" %% "scalatest" % "3.1.2" % "test"
)
)
lazy val proj1 = (project in file("proj1"))
.settings(
libraryDependencies ++= Seq(
"org.scalactic" %% "scalactic" % "3.1.2",
"org.scalatest" %% "scalatest" % "3.1.2" % "test"
)
)
或者,您可以将 libraryDependencies
键的范围限定为 ThisBuild
。然后会在所有的子项目中继承:
ThisBuild / libraryDependencies ++= Seq(
"org.scalactic" %% "scalactic" % "3.1.2",
"org.scalatest" %% "scalatest" % "3.1.2" % "test"
)
lazy val core = (project in file("core"))
lazy val proj1 = (project in file("proj1"))
问题来自 build.sbt 个位于 core
和 proj1
下的文件,一旦我删除它们,一切都按预期工作。
我也无法 运行 测试,因为它们中的任何一个都被检测到,当编译器抱怨时,这是在向我解释我无法从 /core/src/main 中导入 类 in /core/src/test 当我在核心项目中交互 运行ning sbt 时。
这是我使用的基本配置。
文件夹组织
|
| build.sbt
|
|-------------- core | src ------------| main | scala | files...
| | build.sbt | test | scala | files...
|
|-------------- proj1 | src ----------- | main | scala | files...
| | build.sbt | test | scala | files...
这里是build.sbt
的一些和平
lazy val deps = Seq(
"org.scalactic" %% "scalactic" % "3.1.2",
"org.scalatest" %% "scalatest" % "3.1.2" % "test"
)
lazy val coreDeps = libraryDependencies ++= deps
lazy val core = (project in file("core"))
.settings(coreDeps)
lazy val proj1 = (project in file("proj1"))
.settings(coreDeps)
.dependsOn(core)
您只需按照评论中的说明进行操作:使用 settings
方法应用设置:
lazy val core = (project in file("core"))
.settings(
libraryDependencies ++= Seq(
"org.scalactic" %% "scalactic" % "3.1.2",
"org.scalatest" %% "scalatest" % "3.1.2" % "test"
)
)
lazy val proj1 = (project in file("proj1"))
.settings(
libraryDependencies ++= Seq(
"org.scalactic" %% "scalactic" % "3.1.2",
"org.scalatest" %% "scalatest" % "3.1.2" % "test"
)
)
或者,您可以将 libraryDependencies
键的范围限定为 ThisBuild
。然后会在所有的子项目中继承:
ThisBuild / libraryDependencies ++= Seq(
"org.scalactic" %% "scalactic" % "3.1.2",
"org.scalatest" %% "scalatest" % "3.1.2" % "test"
)
lazy val core = (project in file("core"))
lazy val proj1 = (project in file("proj1"))
问题来自 build.sbt 个位于 core
和 proj1
下的文件,一旦我删除它们,一切都按预期工作。