NotImplementedExceptionsをチェックするFxCopルール
-
03-07-2019 - |
質問
.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タスクを介して出力としてカウントを取得します。
所属していません StackOverflow