ライブラリが特定の (ユーザー定義の) イベントを適切な順序で処理することをテストする必要があります。現在、私は非常に単純なことをしています。バッファーを作成し、各イベントに異なる値を追加させます。
val buf = new collection.mutable.ArrayBuffer[Int];
val ev1 = () => { buf += 1; }
val ev2 = () => { buf += 2; }
//
// ... library runs the events ...
//
// check that ev2 ocurred before ev1
buf should be (ArrayBuffer(2, 1))
より明確で明確な方法はありますか?
更新:一方、テストに役立つ小さなツールキットを作成しました。メイン クラスEvent
では、他のイベントに関して計算が発生したときに、計算と関数およびレジスタをラップできます。私はscalatestについて少ししか洞察していないので、それをより適切に統合する方法がわかりません-知っているなら、提案してください.