ツリーの実装とそのノードのさまざまな「移動」アクションをテストする必要があります。私のツリーはDBに保存されます(この場合はmongoDBですが、それほど重要ではありません)。最善のアプローチは何でしょうか?JUnitを使用しています。
これまでの私の考えは次のとおりです。
- ツリー構造を作成してDBに保存するsetUpメソッドを用意します
- setUpメソッドに、ノードごとに次の詳細を含むツリーのメモリ内コピーを作成させます:親ID、位置、名前
- テストしたい各テスト関数を実行します。たとえば、ノードをAからBに移動します
- インメモリを新しいインDBバージョンと比較します。見つかった各差分を伝播する
- 差分の変更が予想されることを主張する
インメモリコピーを作成する理由は、複雑なツリー(複数のレベルとレベルごとのノード)に対してテストするためです。それ以外の場合は、テストごとに各ノードをテストする必要があります。
これは意味がありますか?より良いアプローチ(またはより良い:私のためにそれを行うことができるライブラリ)?
ありがとう!