1

Countクエリ (パターンの出現回数) とLocateクエリ (パターンのすべての出現位置) をサポートするサフィックス ツリーやサフィックス配列などのテキスト インデックスを検討してください。そのようなクラスの単体テストをどのように行いますか?

私が念頭に置いているのは、大きなランダムな文字列を生成し、この大きな文字列からランダムな部分文字列を抽出し、両方のクエリの結果を単純な実装 (string::find など) と比較することです。私が持っている別のアイデアは、元の文字列に現れる最も頻繁な長さの部分文字列を見つけl(おそらく単純な方法を使用して)、これらの部分文字列を使用してインデックスをテストすることです。

これは最善の方法ではないので、テキスト インデックスの単体テストの適切な設計は何でしょうか?

重要な場合、これは googletest を使用した C++ です。

前もって感謝します。

4

1 に答える 1

0

特定のテキストに対するCountクエリ(パターンの出現回数)とLocateクエリ(パターンのすべての出現位置)は、メソッドに期待値を設定する必要はなく、代わりにデフォルトを設定するだけでよいと思います。戻り値。

だから、ここを利用MocksしてStubsください。

簡単な例、http://code.google.com/p/googlemock/wiki/ForDummies

詳細については、http://code.google.com/p/googlemock/wiki/CookBookをご覧ください。

于 2012-10-05T04:04:26.820 に答える