| 屬性 | 值 |
|---|---|
| 規則識別碼 | MSTEST0003 |
| 標題 | 測試方法應具有有效的配置 |
| 類別 | 使用方式 |
| 修正程式是中斷或非中斷 | 中斷 |
| 預設為啟用 | Yes |
| 預設嚴重性 | 警告(當設定 MSTestAnalysisMode 為 Recommended 或 All時,升級為錯誤) |
| 在版本中引進 | 3.2.0 |
| 是否有程式修正 | Yes |
原因
測試方法未遵循所需測試方法配置的單一或多個點。
檔案描述
測試方法 (標示為 [TestMethod] 屬性的方法) 應遵循 MSTest 視為有效的指定配置:
- 其應為
public(或者,如果設定了internal屬性,則應為[assembly: DiscoverInternals]) - 其不得為
static - 使用 MSTest 3.7 或更早版本時,它們就不應為泛型。
- 其不得為
abstract - 其應傳回
void或Task - 其不得為
async void - 其不得為特殊方法 (建構函式、完成項、運算子...)
- 宣告這個方法的類型應該是公用的
如何修正違規
確定測試方法屬性符合上述的必要配置。
隱藏警告的時機
請勿隱藏此規則的警告。 忽略此規則會導致測試遭到忽略,因為 MSTest 不會將此方法視為測試方法。
隱藏警告
如果您只想要隱藏單一違規,請將預處理器指示詞新增至原始程式檔以停用,然後重新啟用規則。
#pragma warning disable MSTEST0003
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0003
若要停用檔案、資料夾或項目的規則,請將其嚴重性設定為 組態檔中的 none。
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0003.severity = none
如需詳細資訊,請參閱 如何隱藏程式碼分析警告。