ToString
XML を生成するメソッドを持つクラスがあります。有効なxmlを生成していることを確認するために単体テストを行いたいです。XML を検証するための DTD があります。
DTD への依存を避けるために、DTD を単体テスト内の文字列として含める必要がありますか、またはこれを行うためのよりスマートな方法はありますか?
ToString
XML を生成するメソッドを持つクラスがあります。有効なxmlを生成していることを確認するために単体テストを行いたいです。XML を検証するための DTD があります。
DTD への依存を避けるために、DTD を単体テスト内の文字列として含める必要がありますか、またはこれを行うためのよりスマートな方法はありますか?
プログラムが通常の実行中に DTD に対して XML を検証する場合は、プログラムが取得する場所から DTD を取得する必要があります。
そうでなく、DTD が非常に短い (数行しかない) 場合は、文字列としてコードに保存しても問題ないでしょう。
それ以外の場合は、外部ファイルに入れて、単体テストでそのファイルから読み取らせます。
過去にXmlUnitを使用したことがあり、便利であることがわかりました。
XML をスキーマに対して検証したり、XML を文字列と比較したりするために使用できます。XML の構文解析規則を理解するのに十分賢いです。たとえば、「<e1/>」は「<e1></e1>」と同等であり、空白を無視または含めるように構成できることがわかっています。