我是斯卡拉的新手。我试图在IntellIj中创建一个scala项目,并添加一个测试类。我在sbt中使用以下两个依赖项。
libraryDependencies += ("org.scalactic" %% "scalactic" % "3.0.8")
// https://mvnrepository.com/artifact/org.scalatest/scalatest
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8" % Test但是我无法使用测试类‘FunSuite’中的类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
有人能告诉我我哪里做错了吗?
发布于 2019-07-19 10:17:38
一个问题是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因此,尝试探索它是如何设置和适合您的项目匹配。
发布于 2019-07-19 09:53:53
https://stackoverflow.com/questions/57109528
复制相似问题