我正在尝试将使用Mockito创建的模拟对象与ScalaTest一起注入到使用匹配语句的Scala程序中。该程序在生产中工作正常但是当我注入我的模拟对象来测试它时,我得到:
scala.MatchError: (Mock for FileSource, hashCode: 707784476,null) (of class scala.Tuple2)
导致错误的行是:
inputSources.foldLeft((inputSources.head, None): (FileSource, Option[ServerBackedFile]))
((opt: (FileSource, Option[ServerBackedFile]), src: FileSource) => opt._2 match {...
模拟对象就是这样创建的:
val mockSource0 = mock[FileSource]
when(mockSource0.getNextFile).thenReturn(None)
我正在嘲笑的类FileSource定义为:
trait FileSource {
def getNextFile: Option[ServerBackedFile]
def deleteRemoteFile(sbFile: ServerBackedFile): Unit
def disconnect: Unit
def a: String
def host: String
def b: Boolean