scalatest:对象 scalatest 不是包 org 的成员

scalatest : object scalatest is not a member of package org

EDIT :如果文件在 src/test/scala/tests/ 但不在 src/main/scala/mypackage/ 中,它会起作用 为什么?

我已经尝试过来自有几乎相同问题的人的主题的解决方案,但 none 有效。

详细信息,我在 build.sbt 中有这个:

libraryDependencies ++= Seq(
   ...
  "org.scalatest" % "scalatest_2.10" % "2.2.1" % "test",
   ...

在 intellij a class 中:

import org.scalatest.{BeforeAndAfterAll, Suite}

{BeforeAndAfterAll, Suite} 为红色,所以我猜找到了 scalatest

sbt 包也不起作用:

object scalatest is not a member of package org [error] import org.scalatest. {BeforeAndAfterAll, Suite}

我已经试过了:

没有效果

有什么想法吗?

你应该看看 sbt project structure:

src/
  main/
    resources/
       <files to include in main jar here>
    scala/
       <main Scala sources>
    java/
       <main Java sources>
  test/
    resources
       <files to include in test jar here>
    scala/
       <test Scala sources>
    java/
       <test Java sources>

您的 Scala 测试应该在 src/test/scala/.

下进行

如果你真的想在 main 中使用 scalatest(并且你知道你想做什么),试试这个:

  "org.scalatest" % "scalatest_2.10" % "2.2.1",

在你原来的 build.sbt 中,"test" 是配置,这意味着 scalatest 只会在测试类路径上,主要来源不需要它。这通常是图书馆的好做法,因为您的用户通常不需要您的测试依赖项来使用您的图书馆 (ref)。