ソリューションのレガシー コードにカスタム例外が多数あります。そして、私はすべてをテストしたい
プロジェクトに導入されたカスタム例外がシリアライズ可能 (XML)かどうかを確認する
では、カスタム例外がシリアライズ可能である場合、テストが合格するために何をチェックすればよいでしょうか?
カスタム例外がシリアル化可能であると言うために必要な最小要件は何ですか?
ソリューションのレガシー コードにカスタム例外が多数あります。そして、私はすべてをテストしたい
プロジェクトに導入されたカスタム例外がシリアライズ可能 (XML)かどうかを確認する
では、カスタム例外がシリアライズ可能である場合、テストが合格するために何をチェックすればよいでしょうか?
カスタム例外がシリアル化可能であると言うために必要な最小要件は何ですか?
すべての例外クラスがIXmlSerializableインターフェイスを実装しているかどうかを確認できます。
Assert.IsTrue(yourExceptionInstance is IXmlSerializable);
xmlSerializer.CanDeserialize(..)メソッドを使用することをお勧めします。
基本クラスは、既定の .NET XML シリアル化メカニズムでサポートされていないを実装Exception
するパブリック プロパティを公開します。Data
IDictionary
したがって、例外を XML シリアライズするIXmlSerializable
には、カスタム XML シリアライゼーション ロジックを提供するために実装する必要があると思います。
それに基づいて、Frédéricが回答で示したように、クラスがその特定のインターフェースを実装していることを確認できます。
typeof(MyException).IsSerializeable