如何使用 scalatest 运行 sbt 测试?我有一个错误:对象 scalatest 不是包 org 的成员

问题描述

我想使用 scalatest 在以下项目中测试我的代码

MyProject/
+ src
  - main/scala/mypackage1/Calc.scala
  - test/scala/mypackage1/CalcTest.scala
- built.sbt

built.sbt

libraryDependencies += "org.scalactic" %% "scalactic" % "3.2.2"
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.2" % "test

Calc.scala

package mypackage1

object Calc extends App {
  def add(x: Int,y: Int) = x + y
}

CalcTest.scala

package mypackage1

class CalcTest extends org.scalatest.funsuite.AnyFunSuite {
  test("Calc.add") {
    assert(Calc.add(1,2) == 3)
  }
}

我在 sbt test 中运行 test/scala/mypackage1,但出现编译错误
我该怎么办?

[error] /workspaces/MyProject/src/test/scala/myproject1/CalcTest.scala:3:28: object scalatest is not a member of package org
[error] class CalcTest extends org.scalatest.funsuite.AnyFunSuite {
[error]                            ^

解决方法

抱歉,我自己解决了这个问题。 我在 stb test 目录(项目的根目录,而不是 MyProject)中运行 test/scala/mypackage1 并且它运行正常。 感谢您的帮助。