Language

MSTEST0004: パブリック型はテスト クラスである必要がある

プロパティ 値
ルール ID MSTEST0004
タイトル パブリック型はテスト クラスであるべきです
カテゴリ デザイン
修正が破壊的か非破壊的か あり
既定で有効 いいえ
既定の重要度 無効
導入されたバージョン 3.2.0
コード修正の有無 はい

原因

パブリック型がテスト クラス ([TestClass] 属性でマーク付けされたクラス) ではありません。

規則の説明

実行可能なテストとサポート コードを区別するには、テスト クラス用に公開されている具象クラスを予約し、可能な場合、ヘルパー クラスは internal のままにします。 このオプトイン 設計規則は、[TestClass] 属性が見つからないか、意図しないパブリック ヘルパーに気付くのに役立ちます。

パブリック ヘルパー クラスは無効な MSTest コードではありません。 この規則は、探索要件ではなくプロジェクト規約を強制し、抽象クラスまたは静的クラスは報告しません。

違反の修正方法

型のアクセシビリティを public でないように変更します。

どのようなときに警告を抑制するか

ヘルパーが別のアセンブリまたは既存のコントラクトのために公開のままにする必要がある場合は、診断を抑制します。 意図的に公開されているヘルパーは、[TestClass] または派生属性を持つ場合にのみ、テスト クラスになります。

警告を抑制する

単一の違反を抑制するだけの場合は、ソース ファイルにプリプロセッサ ディレクティブを追加して無効にしてから、規則をもう一度有効にします。

#pragma warning disable MSTEST0004
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0004

ファイル、フォルダー、またはプロジェクトのルールを無効にするには、noneでその重要度を に設定します。

[*.{cs,vb}]
dotnet_diagnostic.MSTEST0004.severity = none

詳細については、「コード分析の警告を抑制する方法」を参照してください。