こんにちは、Akkaを使ってアクターモデルを設定しました。コールバックを使用してJSファサードを設定しています。Scala.jsのユニットテストコールバック
各俳優はかなり長い計算をしており、その結果とともにjs提供のコールバックを呼び出します。
私はこれをユニットテストしたいが、それを行う方法を考え出すことに問題がある。これは応答ではなく、終了時に俳優が呼び出すものです。
私は関数リテラルの中でアサーションを使う方法が必要です。以下のように。
val cb = (result: Double): Unit => {
assert(result == Math.PI)
}
そして、それを俳優に渡すことができます。
mathActor ! Compute("foo", cb)
アクターは次に計算を行い、cbを呼び出します。
case Compute(foo, cb) =>
// compute foo
cb(foo)
おかげ