-
09-06-2019 - |
質問
次に私の最近の問題に 大きく、複雑なオブジェクトWebサービスとして結果.思いを確保できるすべての未来の子供のクラスは直列化可能でなる形式をサポートしています。
今はもちろんのこと、私の実施を IXmlSerializable インタをチャック、リーダ/ライターになること間違いないでしょう避けるのでそれがあるインスタンスを生成するリーダ/ライターのいってみたいと思いますので、99.99%のいる組 文字列 その場合だけ書きしました。
しかし、serialize XMLだけを飾るクラスとその会員に Xml??? 属性 XmlRoot , XmlElement 等) そしてこの XmlSerializer や StringWriter の文字列になります。すべて良いです。したいと思い入れの方法文字列を返します込汎用ユーティリティメソッドでないタイプ。
このことを懸念はあるのです:ない場合、その飾りのクラス(es)との必須の属性はエラーがスローされます。
必要があります。実施属性。で実現できるとFxCop? してくれてありがとうございます使用されないFxCopしてください。※
更新:
申し訳の遅れを取得するのをコントロールは、どなたで盛りだくさん!
エントリーのページの考え方を反映していますので、テストケースではなくな手段FxCop(ようなものと.. Fredrik Kalsethの回答 た幻想的なアコンなどのコードとしてであろういうチャンスの採掘かった。
+1シャーロック-ホームズ同様の提案:)
解決
いくユニットの統合の試験ることを確認するクラスマッチング指定された基準(ieの場合は、サブクラスX)が飾られ適切に表す設定した場合、ご利用のお客様の走行試験での失敗の場合この試験に失敗します。
更新:だから、"うまかないのではないかと思ロールマ袖げているのを確認してくださいユニット試験は以下が続けられておりません。かく書は、一般試験クラスを使用する反射のすべての授業を必要とする主張する.のようなこと:
[TestClass]
public class When_type_inherits_MyObject
{
private readonly List<Type> _types = new List<Type>();
public When_type_inherits_MyObject()
{
// lets find all types that inherit from MyObject, directly or indirectly
foreach(Type type in typeof(MyObject).Assembly.GetTypes())
{
if(type.IsClass && typeof(MyObject).IsAssignableFrom(type))
{
_types.Add(type);
}
}
}
[TestMethod]
public void Properties_have_XmlElement_attribute
{
foreach(Type type in _types)
{
foreach(PropertyInfo property in type.GetProperties())
{
object[] attribs = property.GetCustomAttributes(typeof(XmlElementAttribute), false);
Assert.IsTrue(attribs.Count > 0, "Missing XmlElementAttribute on property " + property.Name + " in type " + type.FullName);
}
}
}
}
他のヒント
きのユニットテストをチェックのためにこのようなことは基本的には使用している。
また、これが可能なうことなんでしょうけれども書くことができFxCopルでもそんなわないことです。
記述することができFxCopのルールをチェックインの属性を呼び出しGetType()の基底クラスのコンストラクタに反映に返されます。
良いFXCopルールな一品が欲しいんだ現在)インターネットオンラインのあるすべてのオブジェクトが追加されASP.NET セッションを直列化可能でない属性。ようにしているから移動するInProcセッションの状態をSQLサーバーです。最初の時間をお願いしたのですが、そのページで、私のサイトを吹き飛ばいので非serializableオブジェクトが格納されます。そして、タスクの狩りを通じてすべてのソースコードを見毎のインスタンスオブジェクトの設定のセッション...FXCopすね。かないもの。
も利用できますこのコンセプト/ポストプロセッサ制との関係および属性と同様にログイン律関係の授業属性をコンパイル時間:
http://www.st.informatik.tu-darmstadt.de/database/publications/data/cepa-mezini-gpce04.pdf?id=92