Specs2 を使用してファイルへのシリアル化をテストすることに成功しましたが、テストでは実際のファイル (/tmp/ に書き込まれます) を使用します。テストのためだけにディスクに触れたくありません。モックファイルを使用する方法はありますか?
def serializeAndDeserializeFromDatafile[X <: CaseClass : Manifest](old: X, maybeGrater: Option[AvroGrater[X]] = None): X = {
val g = maybeGrater.getOrElse(grater[X])
//val outfile = mock[File]
val outfile = new File("/tmp/file1.avro")
g.serializeToDataFile(outfile, old) //Serialize to file
val infile = outfile
g.asObjectFromDataFile(infile) //Deserialize from file
}
私は Mockito を使って私のoutfile
(上記のコメントアウトされた行) をモックしようとしました。私の素朴な試みでは、を作成できますが、シリアル化しようとするとのMock for File, hashCode: 1583021903
ようです。null
ある種の「スタブ」が欠けていると思いますが、解決策を提案するのに十分なほど類似した例が見つかりません。どんな助けでも大歓迎です。