コマンド ラインから Pex を使用して、テスト ケース生成用の入力値を検索しています。PexObserve を使用して、実行中に特定の値を記録します。記録したい値の 1 つは XML-String です。
ただし、XML を解析すると、Pex は最初の 255 文字のみをログに書き込むため、「不正な形式の XML」例外を受け取ります。
完全な XML 文字列を記録する方法はありますか? または、PexObserve には、長いテキストを記録できる別のタイプがありますか?
コマンド ラインから Pex を使用して、テスト ケース生成用の入力値を検索しています。PexObserve を使用して、実行中に特定の値を記録します。記録したい値の 1 つは XML-String です。
ただし、XML を解析すると、Pex は最初の 255 文字のみをログに書き込むため、「不正な形式の XML」例外を受け取ります。
完全な XML 文字列を記録する方法はありますか? または、PexObserve には、長いテキストを記録できる別のタイプがありますか?
誰かが同じ問題を抱えている場合に備えて、これをここに残しておきます。私を助けた解決策を見つけました。
残念ながら、255 文字の制限はstatic readonly
フィールドで内部的に設定されています。したがって、リフレクションを使用する必要がありました。私のソリューションは、PUT に次の行を含めることで機能します。
typeof(Microsoft.Pex.Framework.PexObserve.ValueWriterManager).GetField("MaxWrittenElements").SetValue(null, 1000);
1000
を任意の値に置き換えます。
ただし、これは簡単な解決策であり、うまくいかない可能性があることに注意してください。望ましくない副作用が生じる可能性があります。また、書き込まれる List 要素の数や、おそらく他のことも変更しています。