【发布时间】:2021-02-04 01:15:04
【问题描述】:
我最近开始使用 Scala,但在依赖项方面遇到了一些问题。我同时使用了 Maven 的 pom.xml 和 sbt build.sbt。
浏览 sbt 的参考手册我已经遇到了导入 scalatest 的问题。
我的项目文件夹中有 build.sbt,然后是 src/main/scala/Hello.scala 和 src/test/scala/HelloSpec.scala。
我的构建:
ThisBuild / scalaVersion := "2.13.3"
ThisBuild / organization := "com.example"
lazy val hello = (project in file("."))
.settings(
name := "Hello",
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.2" % Test,
)
还有 HelloSpec.scala:
import org.scalatest._
class HelloSpec extends FunSuite with DiagrammedAssertions {
test("Hello should start with H") {
assert("hello".startsWith("H"))
}
}
现在当我进入 sbt shell 并运行测试时,它提供了三个错误:
- 未找到:输入 FunSuite
- 未找到:输入 DiagrammedAssertions
- 未找到:值测试
虽然我已经设置了我的环境变量(SCALA_HOME、JAVA_HOME),但奇怪的是Maven也发生了同样的事情(无法使用导入的函数)。
【问题讨论】:
-
org.scalatest.FunSuite在 ScalaTest 3.2.0 中已重命名为import org.scalatest.funsuite.AnyFunSuite。见scalatest.org/release_notes/3.2.0