ScalaTest和Mockito - 未解决的依赖

时间:2017-10-12 10:51:22

标签: scala dependencies sbt mockito scalatest

我正在尝试在SBT构建文件中添加 mockito 依赖项,但它提供了以下未解析的依赖项异常。

我不确定它是否与Scala和Mockito版本有关。

    scalaVersion := "2.11.8"

    libraryDependencies ++= Seq("org.scalatest" % "scalatest_2.11" % "2.2.2" % "test",
  "org.mockito" % "mockito-all" % "1.9.5" % "test")

例外:

trace] Stack trace suppressed: run 'last *:ssExtractDependencies' for the full output.
[trace] Stack trace suppressed: run 'last *:update' for the full output.
[error] (*:ssExtractDependencies) sbt.ResolveException: unresolved dependency: org.mockito#mockito-all;1.9.5: not found
[error] (*:update) sbt.ResolveException: unresolved dependency: org.mockito#mockito-all;1.9.5: not found
[error] Total time: 23 s, completed Oct 12, 2017 3:13:16 PM

我也尝试过不同的mockito版本1.8.5。但没有运气。

提前致谢。

2 个答案:

答案 0 :(得分:1)

我强烈建议不要对sbt使用mockito-all,而是使用mockito-core。 SBT是智能构建系统,它将计算出mockito-core details的所有依赖关系。这里依赖关系的外观如下:

libraryDependencies ++= Seq (
  "org.scalatest" %% "scalatest" % "3.0.1" % "test",
  "org.mockito" % "mockito-core" % "2.8.47" % "test"
)

答案 1 :(得分:0)

Mockito documentation建议不要将Mockito-core用作依赖项,而应使用Mockito-scala来提取需要的内容。您可以使用%%表示法,该表示法会自动提取与您所使用的Scala版本相对应的版本。还值得在Maven上查看哪个版本是您正在使用的Scala版本的最新Mockito-scala版本。

因此,与最新版本的Scala一起使用的Mockito的build.sbt将是:

libraryDependencies ++= Seq (
  "org.mockito" %% "mockito-scala" % "1.15.0" % "test"
)