首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ScalaTest需要多项目sbt的设置

ScalaTest需要多项目sbt的设置
EN

Stack Overflow用户
提问于 2020-07-01 15:06:35
回答 2查看 77关注 0票数 0

我既不能运行测试,因为它们中的任何一个都被检测到,当编译器抱怨时,这是为了解释当我在核心项目中交互地运行sbt时,我不能从/ core /src/main in /core/src/test导入类。

下面是我使用的基本配置。

文件夹组织

代码语言:javascript
复制
|
| build.sbt
|
|-------------- core | src ------------| main | scala | files...
|                    | build.sbt       | test | scala | files...
|
|-------------- proj1 | src ----------- | main | scala | files...
|                     | build.sbt       | test | scala | files...

这里有一些build.sbt的和平

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-03 09:19:13

问题来自于build.sbt文件,这些文件在coreproj1下,一旦我删除了它们,一切都按预期工作。

票数 1
EN

Stack Overflow用户

发布于 2020-07-01 22:40:14

您只需按照注释中的内容执行:使用settings方法应用设置:

代码语言:javascript
复制
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。然后,它将在所有子项目中继承:

代码语言:javascript
复制
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"))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62679837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档