如何查找内容并使用Scala sbt安装它们?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查找内容并使用Scala sbt安装它们?相关的知识,希望对你有一定的参考价值。

我是Scala的新手,正在为sbt挣扎并安装东西。例如:

我想在Eclipse中进行开发,因此使用JUnit。根据:

http://www.scalatest.org/user_guide/using_junit_runner

“ ScalaTest包含一个JUnit Runner”,似乎并非如此。至少不适合我。 (当我尝试object is not a member of package org.scalatest时我得到import org.scalatest.junit.JUnitRunner,但import org.scalatest.flatspec.AnyFlatSpec正常工作)

如何安装?我看了看我的sbt文件,其中包含以下行:

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

认为还可以,所以我需要org.scalatest.junit并尝试将其添加为:

libraryDependencies += "org.scalatest" %% "junit" % "3.1.1" 

当然,这给了我三个(!)屏幕:

Note: Unresolved dependencies path:
[error] sbt.librarymanagement.ResolveException: Error downloading org.scalatest:junit_2.12:3.1.1
[error]   Not found

(为什么这么重复?这只是一件事,但没有发现,但抱怨了四遍!)

我如何弄清楚如何安装这样的东西?现在,我正在尝试一种将猜测和随机谷歌搜索结合在一起的方法,有时它可以工作,但有时(像现在这样)对我来说是失败的...

答案

在使用JUnit运行器执行ScalaTest套件的ScalaTest 3.1.x中,将以下依赖项添加到build.sbt

libraryDependencies ++= List(
  "org.scalatest"      %% "scalatest"   % "3.1.1"    % Test,
  "org.scalatestplus"  %% "junit-4-12"  % "3.1.1.0"  % Test
)

并像这样注释套件

import org.junit.runner.RunWith
import org.scalatestplus.junit.JUnitRunner
import org.scalatest.flatspec.AnyFlatSpec
import org.scalatest.matchers.should.Matchers

@RunWith(classOf[JUnitRunner])
class HelloSpec extends AnyFlatSpec with Matchers {
  "The Hello object" should "say hello" in {
    Hello.greeting shouldEqual "hello"
  }
}

存在更新文档的公开问题:Document how to use JUnitRunner in 3.x #1780

以上是关于如何查找内容并使用Scala sbt安装它们?的主要内容,如果未能解决你的问题,请参考以下文章

为 Scala/SBT 设置 IntelliJ IDEA Ultimate

组织多个 scala 相互关联的 sbt 和 git 项目 - 最佳实践建议

你能把SBT代码放在scala脚本中吗?

scala构建工具sbt使用介绍

从入门到入土 Hadoop新手搭建 windows下scala+idea+sbt安装

Scala SBT 如何同时运行测试和测试