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文件中的一些scalatest和mockito版本,但是如果这不是问题的根源,则不是真的。
感谢您的帮助!
答案 0 :(得分:0)
我怀疑您有缓存问题。尤其是 Intellij 。
这里有2个想法:
重新加载sbt
项目。参见https://stackoverflow.com/a/20466144/2750966
关闭项目/删除.idea
,然后使用 Intellij 重新打开项目。
让我知道它是否与 Intellij
不相关答案 1 :(得分:0)
您使用的Mockito版本非常旧,它比Scalates所依赖的版本要旧,您可能需要2.x.x版本。
另一方面,我建议您使用mockito-scala,而不要使用嘲笑内核,并完全跳过Scalatest提供的类,因为它们非常基础。