对sbt和Mockito来说相对较新。
我想在测试中使用 Mockito,但在编译测试时遇到与 Mockito 导入相关的错误
在测试文件中导入:
import org.scalatest._
import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar
SBT 文件:
name := "blah"
version := "0.1"
scalaVersion := "2.13.0"
libraryDependencies += "org.scalactic" %% "scalactic" % "3.0.8"
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8" % "test"
libraryDependencies += "org.mockito" % "mockito-core" % "1.8.5" % "test"
当测试(无法(编译时,我收到这些错误消息:
object mockito is not a member of package org [error] import org.mockito.Mockito._
以及:
Symbol 'type org.mockito.MockSettings' is missing from the classpath.
[error] This symbol is required by 'value org.scalatest.mockito.MockitoSugar.mockSettings'.
我已经尝试更改了sbt文件中scalate和mockito的一些版本,但并不是真的,如果这是问题的根源。
感谢您的任何帮助!
您使用的是非常旧的 Mockito 版本,它比 Scalates 所依赖的版本更旧,您可能需要一些 2.x.x 版本。
另一方面,我建议你使用 mockito-scala 而不是 mockito-core,并完全跳过 Scalatest 提供的类,因为它们是非常基本的。
我怀疑你有缓存问题。这种情况尤其发生在Intellij上。
这里有2个想法:
-
重新加载
sbt
项目。请参阅 https://stackoverflow.com/a/20466144/2750966 -
关闭项目/删除
.idea
使用 Intellij 重新打开项目。
如果它与Intellij无关,请告诉我