XDocumentを内部的に使用する2つのクラスXmlWriterとXmlReaderを使用して、倍精度、文字列、配列などの単純な値を格納/ユニットテスト:xmlリーダーをテストするための複雑なXDocumentを作成する
たXmlWriterクラスは、基本的に私はセットのunittestの(文字列、ダブル)メソッドを作成したい場合は、私は簡単に正しい要素かどうかを確認するために、文書のフィールドを使用することができ、今、この
class XmlWriter
{
internal XDocument document;
Set(string name, double value);
Set(string name, Int32 value);
…
SaveToFile(string filename);
}
のように見えますXPathを使用して追加されました。
このメソッドは、XmlWriterでうまくいきます。ただし、XmlReaderはテストするのが非常に難しいです。私が見る限り、2つのオプションがあります。
まず、XmlWriterを使用して、XmlReaderの単体テストのXDocumentを設定できます。
//Quick and dirty to give you an idea
writer.Set("something", 123);
reader.document = writer.document;
Assert.AreEqual(123, reader.Get("something");
今XmlReaderのためのユニットテストが重くたXmlWriterクラスに依存しているため、私は本当に好きではありません。私がXmlWriterクラスを破ると、XmlReaderの単体テストも確実に失敗します。
私が念頭に置いている別のオプションは、手作業でXDocumentを作成することです。特に、XmlStructureが少し複雑な場合は非常に面倒です。
あなたの意見はどうですか?
ありがとうございます。
私の提案では、必要なプロパティを持つクラスを作成し、シリアライゼーションを使用してファイルからの書き込み/読み込みを行います。 – Fabio