Finatra で作業し、テストのためにデータベース呼び出しを模擬しようとしています。私finagle-postgres
はこのメソッドを定義するものを使用しています:
def prepareAndQuery[T](sql: String, params: Any*)(f: Row => T): Future[Seq[T]] = {...}
使用する他のモックMockito
は簡単です。しかし、私はこれを機能させることができないようです。コンパイラに苦労した後、最終的にこれを見つけましたが、実行時に機能しません:
case class Foo( a: Int, b: Int, c: Int )
val client = smartMock[Client]
def f(row:Row): Foo = {
Foo(1,2,3)
}
client.prepareAndQuery[Foo]("select 1") returns { x => f(x) }
テストスローを実行すると:
org.mockito.exceptions.verification.SmartNullPointerException:
...
because this method call was *not* stubbed correctly:
私は Mockito を初めて使用し、関数パラメーターを取る関数をモックする例を見つけていません。私のモックがどのように間違っているかについて何か考えはありますか?