オブジェクトのシリアライゼーション ユニット テストを作成していて、オブジェクトの XML を C# コード ユニット テスト ファイル内にインライン化したいと考えています。インライン化する最も簡単な方法は、@ プレフィックスを文字列として使用することです。
var xml = @"<Something>
<AnotherSomething/>
<AnotherSomething/>
</Something>";
私の問題は、私の XML に属性が含まれており、それが非常に大きいことです。インライン化するには、すべての XML を調べて、XML の各 """ にエスケープを入れる必要があります。非常に大きな XML ノードに対してそれを行うと、難しいし、それを維持するのは難しいだろう -
var xml = @"<Something Att=""s"" Att2=""gg"">
<AnotherSomething/>
<AnotherSomething/>
</Something>";
XML を別のファイルとして配置し、展開アイテムとしてマークしたくありません -
[DeploymentItem("Something.xml")]
単体テストでディスクからファイルをロードする必要があるため、単体テストがはるかに遅くなり、それらの多くがある可能性があります。
XML を変更せずにコード内に配置する他の方法はありますか?