scalatest:对象scalatest不是包org

时间:2016-02-18 17:19:46

标签: scala intellij-idea sbt scalatest

编辑:如果文件位于src / test / scala / tests /但src / main / scala / mypackage /为什么没有?

我尝试过主题的解决方案,人们几乎有同样的问题,但都没有。

详细说明,我在build.sbt中有这个:

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

在intellij中有一个课程:

import org.scalatest.{BeforeAndAfterAll, Suite}

{BeforeAndAfterAll,Suite}为红色,所以我觉得scalatest已找到

sbt包也不起作用:

  

object scalatest不是包org [error] import的成员   org.scalatest。 {BeforeAndAfterAll,Suite}

我已经尝试过这个:

  • sbt clean update
  • 重启+使intellij的缓存无效
  • 删除.idea /并重新导入
  • libraryDependencies + =" org.scalatest" %" scalatest_2.10" %" 2.0" %"测试"而是ogf实际的
  • 键盘上的魔法仪式

没有任何作用

有什么想法吗?

1 个答案:

答案 0 :(得分:19)

你应该看看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,&#34;测试&#34;是配置,它意味着scalatest只会在测试类路径上,主要来源不需要它。这通常是库的良好实践,因为您的用户通常不需要您的测试依赖项来使用您的库(ref)。