コードカバレッジのテスト不能としてクラスを装飾する方法
-
05-07-2019 - |
質問
背景:Visual Studio 2008、C#、. Net 3.5。
私は単純に単体テストできないユーティリティクラスをいくつか持っています。これは主に、リソース(データベース、ファイルなど)と対話するためです。
これらのクラスをデコレートしてVisual Studioコードカバレッジエンジンがそれらを無視できるようにして、コードカバレッジ率を低下させないようにする方法はありますか?
解決
この記事 [システム。 Diagnostics.DebuggerHidden] または [ System.Diagnostics.DebuggerNonUserCode] コードカバレッジからメソッドを除外する属性。
Davidのコメントに従って更新:
.NET 4.0以降、この専用の属性があります: [ExcludeFromCodeCoverage]
他のヒント
プロジェクトを.NET 4にアップグレードすると、 ExcludeFromCodeCoverageAttributeクラス。
単体テストを作成する理由の1つは、コードを疎結合にすることです。 この記事を読むことができます。 疎結合コードの記述方法の学習に興味がある場合(方法がわからない場合)。
TypeMock などのツールを使用してみて、オブジェクトをモックするのに役立つ場合依存性注入の原則を使用して記述しないでください。
TypeMockは、私が使用した最初のMockフレームワークでした。 Rhino Mocks に切り替えます。TypeMockでは、十分な規律を保つ必要がなかったため疎結合コードを記述します。
所属していません StackOverflow