私のようなXML構造の変形ユニットテストしようとしています:他のXMLファイルを再帰的に指し示すXMLファイルの変更をユニットテストするにはどうすればよいですか?
<element2>
<open file="anotherfile.xml">
<happytag/>
</element2>
そしてanotherfile.xml
がどのように見えること:
<element3>
<sadtag/>
</element3>
正しいを
<element1>
<open file="otherfile.xml">
</element1>
がotherfile.xml
が含まれていると変更は、開くファイルからコードをコピーして、というコードに貼り付けますタグ。そのため、私のような構造を期待してい:
<element1>
<element2>
<element3>
<sadtag/>
</element3>
<happytag/>
</element2>
</element1>
私が午前問題は、私はこのような構造の作成をテストするユニットについて移動する方法がわからないだということです。理想的には、私が遠くに試みたことは(成功しなかった)、構造を作成するためにファイルシステムを呼び出す必要がないように、この単体テストを作成することです。これを行うには、私はファイルを開き、入力ストリームになりすましモックオブジェクトを作成しますが、実際には、私はこのアプローチを持っている問題は、私ということです
<element1>
<open file="otherfile.xml">
</element1>
のテキストから作成されたストリームを返します私が試したもう一つはopen file="<element3>...</element3>">
のように、open file=""
にanotherfile.xml
のテキストを置くことです
<element2>
<open file="anotherfile.xml">
<happytag/>
</element2>
:モックオブジェクトは、テキストを返すようにotherfile.xml
のテキストを挿入する方法を把握することはできません。これは、XMLパーサが有効なXMLではないと文句を言うため機能しません。
テストを実行する前にこれらのXMLファイルを文字列から作成し、テスト後に削除することもできます。
本当に良いアイデアのように思われます!どうもありがとう! – Davidann