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