无法从测试中解析依赖关系
Unable to resolve dependencies from test
我是 Scala 的新手。我正在尝试在 IntellIj 中创建一个 scala 项目并添加一个测试 class。
我在 sbt 中使用以下 2 个依赖项。
libraryDependencies += ("org.scalactic" %% "scalactic" % "3.0.8")
// https://mvnrepository.com/artifact/org.scalatest/scalatest
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8" % Test
但是我无法在测试中使用 class FunSuite class 'ProcessCSVTest.scala' 进行测试,因为它给出了编译错误。
虽然我可以在我的 IntellIj 中看到外部库中的依赖项
Build.sbt 文件
name := "CSVParser"
version := "0.1"
scalaVersion := "2.13.0"
libraryDependencies += ("org.scalactic" %% "scalactic" % "3.0.8")
// https://mvnrepository.com/artifact/org.scalatest/scalatest
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8" % Test
完整的代码可以在这里找到 - https://github.com/practice09/CSVParser
谁能告诉我哪里做错了?
因为FunSuite
在一个包里,所以需要加上
import org.scalatest.FunSuite
如果您将光标放在它上面 press Alt+Enter
,您应该会得到修复它的建议。
一个问题是测试 ProcessCSVTest.scala
在 main
源下,这意味着 ScalaTest 需要在主类路径上,但是在 build.sbt
中,ScalaTest 依赖的范围是 Test
类路径
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8" % Test
因此,如果您像这样删除 Test
作用域
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8"
然后 ScalaTest 将在主类路径中结束,我们可以添加以下导入
import org.scalatest.FunSuite
但是我的建议是将测试移出主要来源并将它们放在 src/test/scala/
下,然后像以前一样 Test
下的依赖范围
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8" % Test
以下命令构建了一个具有 sbt 预期的正确项目结构的示例
sbt new scala/scala-seed.g8
所以尝试探索它是如何设置的并适合您的项目。
我是 Scala 的新手。我正在尝试在 IntellIj 中创建一个 scala 项目并添加一个测试 class。 我在 sbt 中使用以下 2 个依赖项。
libraryDependencies += ("org.scalactic" %% "scalactic" % "3.0.8")
// https://mvnrepository.com/artifact/org.scalatest/scalatest
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8" % Test
但是我无法在测试中使用 class FunSuite class 'ProcessCSVTest.scala' 进行测试,因为它给出了编译错误。
虽然我可以在我的 IntellIj 中看到外部库中的依赖项
Build.sbt 文件
name := "CSVParser"
version := "0.1"
scalaVersion := "2.13.0"
libraryDependencies += ("org.scalactic" %% "scalactic" % "3.0.8")
// https://mvnrepository.com/artifact/org.scalatest/scalatest
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8" % Test
完整的代码可以在这里找到 - https://github.com/practice09/CSVParser
谁能告诉我哪里做错了?
因为FunSuite
在一个包里,所以需要加上
import org.scalatest.FunSuite
如果您将光标放在它上面 press Alt+Enter
,您应该会得到修复它的建议。
一个问题是测试 ProcessCSVTest.scala
在 main
源下,这意味着 ScalaTest 需要在主类路径上,但是在 build.sbt
中,ScalaTest 依赖的范围是 Test
类路径
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8" % Test
因此,如果您像这样删除 Test
作用域
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8"
然后 ScalaTest 将在主类路径中结束,我们可以添加以下导入
import org.scalatest.FunSuite
但是我的建议是将测试移出主要来源并将它们放在 src/test/scala/
下,然后像以前一样 Test
下的依赖范围
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8" % Test
以下命令构建了一个具有 sbt 预期的正确项目结构的示例
sbt new scala/scala-seed.g8
所以尝试探索它是如何设置的并适合您的项目。