私はレガシーなJavaコードといくつかのsax解析を持っています。それらの sax パーサーの単体テストを書きたいと思っています。
sax パーサーの実装は簡単です。や などのいくつかのメソッドを拡張およびオーバーライドするクラスのようなものDefaultHandler
です。startElement
endElement
Sax パーサーは、解析する xml が巨大であるため、オブジェクトの大きなツリーを提供します。
sax パーサーの単体テストを作成しようとすると、次のような大きなテスト メソッドが得られます。
- リソースからの XML ファイルのテスト バリアントの読み込み
- sax パーサーのインスタンスにその XML を解析するように要求する
- 解析結果の取得
- ツリー内の各オブジェクトの各フィールドをアサートすることにより、解析されたオブジェクト ツリーを期待されるものと比較する
すでに述べたように、XML は巨大です。そのため、結果オブジェクトを比較すると、大量のアサートが発生します。
何か提案してください。レガシー コードに含まれるすべての sax パーサーに対して、このような大規模なテスト メソッドを記述したくありません。