首页 > 解决方案 > 让“在 Scala 中编程”junit 示例在 IntelliJ 中工作的问题

问题描述

仍在使用 Scala 插件学习 Scala 和 Intellij... 尝试从“Scala 编程”第 3 版书中获取 SetTest 类。这是我使用最新的 Scala 插件进入 IntelliJ Idea Community 2019.3 的代码:

import org.junit.Test
import org.junit.Assert.assertEquals

class SetTest {

  @Test
  def testMultiAdd = {
    val set = Set() + 1 +2 + 3 + 1 + 2 + 3
    assertEquals(3, set.size)
  }
}

我通过 Maven 下载选项将 junit-4.3.1.jar 添加到我的项目结构库中。然后我点击编辑器左边的绿色双箭头并选择“运行SetTest”。

然后我得到错误“错误:(4、7)SetTest已经定义为类SetTest类SetTest {”

然后我删除了 IntelliJ 生成的 SetTest 运行配置。然后我单击编辑器左边距中的单个绿色箭头并选择“Run TestMultiAdd()”。这会导致完全相同的错误。

我也尝试手动设置不同的运行配置,但没有成功。请帮忙!

标签: javascalaintellij-ideajunit

解决方案


尝试使用 sbt 依赖而不是手动添加库。

  1. 将其添加到 build.sbt:
libraryDependencies += "junit" % "junit" % "4.12" % Test.
  1. 如果 Intellij Idea 会建议您为 SBT 项目导入更改,请执行此操作。Else Idea 会自动生成。您也可以通过命令行手动导入它:sbt reloadsbt clean package.

  2. 检查文件名是否等于类名(通常 Scala 不需要)

  3. 再次尝试运行测试。

    这对我有用。

您可以在mvnrepository.com找到这个或其他依赖项。默认情况下,它显示如何添加 Maven 依赖项。但在部分中SBT ,您将看到第一项的行。

对不起我的英语不好


推荐阅读