【问题标题】:Scala IDE: object scalatest is not a member of package orgScala IDE:对象 scalatest 不是包 org 的成员
【发布时间】:2019-09-24 07:29:05
【问题描述】:

我正在尝试使用 Scala IDE。我对 Scala 完全陌生。

HelloSpec.scala:

import org.scalatest._

class HelloSpec extends FlatSpec with Matchers {
  "The Hello object" should "say hello" in {
    Hello.greeting shouldEqual "hello"
  }
}

import org.scalatest._ 被错误标记:

object scalatest 不是包 org 的成员

我已经尝试用谷歌搜索了很多,但仍然不明白出了什么问题。我的项目结构看起来不错:

src/main/scala:
----Hello.scala
src/test/scala:
----HelloSpec.scala
build.sbt
plugins.sbt

build.sbt:

import Dependencies._

ThisBuild / scalaVersion     := "2.12.8"
ThisBuild / version          := "0.1.0-SNAPSHOT"
ThisBuild / organization     := "com.example"
ThisBuild / organizationName := "example"

lazy val root = (project in file("."))
  .settings(
    name := "$name$",
    libraryDependencies += scalaTest % Test
  )

plugins.sbt:

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")

顺便说一句,我还没有构建项目。这可能是原因吗?我不知道如何从 Scala IDE 构建项目,如果我从 Windows 命令提示符构建它,那么它不会影响 Scala IDE。

【问题讨论】:

  • 您能否检查以下答案并告诉我它是否适合您?
  • @MoustafaMahmoud 我不断收到同样的错误。

标签: eclipse scala scala-ide


【解决方案1】:

我假设你的项目结构如下,

src/
  main/
    resources/
       <files to include in main jar here>
    scala/
       <main Scala sources>
  test/
    resources
       <files to include in test jar here>
    scala/
       <test Scala sources>
build.sbt
plugins.sbt

这是一个简单的hello类

object Hello {
  def greeting: String = {
    "hello"
  }
}

我创建了如下的单元测试

import org.scalatest._

class HelloSpec extends FlatSpec with Matchers {
  "The Hello object" should "say hello" in {
    Hello.greeting shouldEqual "hello"
  }
}

因此,您只需在依赖项中添加 scala 测试即可。下面是简单的 sbt 文件

name := "Hello Test"
version := "0.1"
scalaVersion := "2.11.8"
libraryDependencies ++= Seq(
  "org.scalatest" %% "scalatest" % "3.0.6" % "test")

【讨论】:

  • 你尝试运行 sbt build 吗?
  • 您是否尝试过其他 IDE?我强烈建议您尝试 intellij。它简单有效。
  • 在 InteliJ 中,我得到:“无法解析符号 scalatest”,用于完全相同的行。我使用 InteliJ 创建了一个全新的项目,并且只包含了您的代码。
  • 好的,它现在可以工作了。我之前错误地创建了一个Java项目。
  • 是的,有时会发生。但相信我,IntelliJ 特别是在 Spark 和 Scala 中要好得多
猜你喜欢
  • 2016-05-31
  • 2012-12-20
  • 2016-02-09
  • 1970-01-01
  • 2016-02-29
  • 2019-11-22
  • 1970-01-01
  • 1970-01-01
  • 2021-08-29
相关资源
最近更新 更多