質問

.NETコードに含まれるNotImplementedExeptionsの数を毎晩ビルドチェックしたいので、リリースする前にそれらをすべて削除できることを願っています。私が最初に考えたのは、FxCopがこれを行うための優れたツールかもしれないということです。誰もがこのためのカスタムFxCopルールを持っていますか?自分で作成するにはどうすればいいですか?

役に立ちましたか?

解決

他のヒント

10個以上のメソッドがNotImplementedExceptionを作成すると、このような単体テストは失敗します。失敗すると、この例外を作成するすべてのメソッドが報告されます。

var throwingMethods = codebase.Methods
  .Where(m => m
         .GetInstructions()
         .Exists(i => i.Creates<NotImplementedException>()))
  .ToArray();

if (throwingMethods.Length > 10)
  CollectionAssert.IsEmpty(throwingMethods);

次のようにコードベースが作成される場所:

var codebase = new Codebase("Assembly1.dll","Assembly2.dll");

スニペットは、 Lokad共有ライブラリのLokad.Quality.dllを使用します。

独自のFxCopルールを作成する方法については、ネット上に大量のリソースがありますが、「NotImplementedException」はそのような一意の名前であるため、おそらくファイルのテキストでその発生を数えることができます。すべての.csファイルのItemGroupを作成してから、適切なDOSコマンド(&quot; find / c&quot;など)を使用し、EXECタスクを介して出力としてカウントを取得します。

NotImplementedExeption をスローする必要がある場合があります。1つの例は、 IBindingList の部分的な実装がある場合です。

多数のリソース そこ作成 カスタム fxCopルール。ただし、「ソリューションの検索」適切なアプローチかもしれません(自動ビルドでこれを必要としないという前提で)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top