2

我正在尝试将使用 Mockito 和 ScalaTest 创建的模拟对象注入到使用 match 语句的 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
4

0 回答 0