MSTest 使用規則
支援適當使用 MSTest 的規則。
標識碼 | 名字 | 描述 |
---|---|---|
MSTEST0002 | TestClassShouldBeValidAnalyzer | 測試類別、標示為 [TestClass] 屬性的類別,應遵守 MSTest 視為有效的下列版面配置:- 如果已設定 [assembly: DiscoverInternals] 屬性,則應該 public 它(或 internal )不應是 static - 它不應該是一般性的。 |
MSTEST0003 | TestMethodShouldBeValidAnalyzer | 測試方法、以 [TestMethod] 屬性標示的方法,應遵守 MSTest 視為有效的下列配置:- 應為 public (如果已設定 [assembly: DiscoverInternals] 屬性,則為 internal )- 不應該 static - 它不應該是泛型 - 不應該 abstract - 傳回類型應該是 void 或 Task - 它不應該是 async void - 它不應該是特殊的方法(例如終結器或運算子)。 |
MSTEST0005 | TestContextShouldBeValidAnalyzer | TestContext 屬性應遵循下列版面配置,才能有效: - 它應該是一個屬性 - 應該是 public (如果已設定 [assembly: DiscoverInternals] 屬性,則應該是 internal )- 不應該 static - 不應該是唯讀的。 |
MSTEST0007 | UseAttributeOnTestMethodAnalyzer | 下列測試屬性應該只套用在標示為 TestMethodAttribute 屬性的方法上: - [CssIteration] - [CssProjectStructure] - [Description] - [ExpectedException] - [Owner] - [Priority] - [TestProperty] - [WorkItem] |
MSTEST0008 | TestInitializeShouldBeValidAnalyzer | 標示為 [TestInitialize] 的方法需遵循以下格式才能有效:- 它應該是 public - 不應該 static 它不應該是泛泛的 - 不應該 abstract - 它不應該採用任何參數 - 傳回型別應 void 、Task 或 ValueTask - 不應該 async void - 它不應該是特殊的方法(完成項,運算元...)。 |
MSTEST0009 | 測試清理應有效分析器 | 標示 [TestCleanup] 的方法應遵循下列格式以保證有效:- 它應該是 public - 不應該是 static - 它不應該是泛型 - 不應該 abstract - 它不應該採用任何參數 - 傳回型別應 void 、Task 或 ValueTask - 這不應該是 async void - 它不應該是特殊的方法(完成項,運算元...)。 |
MSTEST0010 | ClassInitializeShouldBeValidAnalyzer | 標記 [ClassInitialize] 的方法應遵循下列布局才有效:- 它應該是 public - 它應該是 static - 它不應該是一般化的 - 它應該採用類型為 TestContext 的一個參數- 傳回型別應 void 、Task 或 ValueTask - 不應該 async void - 它不應該是特殊的方法(完成項,運算元...)。 |
MSTEST0011 | ClassCleanupShouldBeValidAnalyzer | 標示 [ClassCleanup] 的方法應遵循下列配置以確保有效性:- 它應該是 public - 它應該是 static - 它不應該是泛型 - 它不應該採用任何參數 - 傳回型別應 void 、Task 或 ValueTask - 不應該 async void - 它不應該是特殊的方法(完成項,運算元...)。 |
MSTEST0012 | AssemblyInitializeShouldBeValidAnalyzer | 標示 [AssemblyInitialize] 的方法應遵循下列格式以確保有效:- 它應該是 public - 它應為 static - 它不應該是太通用的 - 它應該採用類型為 TestContext 的一個參數- 傳回型別應 void 、Task 或 ValueTask - 不應該是 async void - 它不應該是特殊的方法(完成項,運算元...)。 |
MSTEST0013 | AssemblyCleanupShouldBeValidAnalyzer | 為使標示 [AssemblyCleanup] 的方法有效,應遵循以下格式:- 它應該是 public - 它應該是 static - 它不應該是泛型 - 它不應該採用任何參數 - 傳回型別應 void 、Task 或 ValueTask - 不應該 async void - 它不應該是特殊的方法(完成項,運算元...)。 |
MSTEST0014 | 資料列效驗分析器 (DataRowShouldBeValidAnalyzer) |
[DataRow] 實例必須具備下列版面配置,才能有效:- 它們只應在測試方法上設定 - 參數數量應該符合方法的參數數量 - 自變數類型應該符合方法自變數類型 |
MSTEST0017 | AssertionArgsShouldBePassedInCorrectOrder | 斷言引數應以正確的順序傳遞 |
MSTEST0018 | 數據應有效分析器 | 以 [DynamicData] 標記的方法也應該以 [TestMethod] 標示(或衍生屬性) |
MSTEST0023 | DoNotNegateBooleanAssertionAnalyzer | 不要否定布爾值判斷提示 |
MSTEST0024 | DoNotStoreStaticTestContextAnalyzer | 請勿將 TestContext 儲存在靜態成員中 |
MSTEST0026 | AssertionArgsShouldAvoidConditionalAccessRuleId | 避免在斷言中使用條件式存取 |
MSTEST0030 | 應包括測試方法的類型應該是測試類別 | 包含 [TestMethod] 的類型應標示為 [TestClass] |
MSTEST0031 | DoNotUseSystemDescriptionAttribute | 'System.ComponentModel.DescriptionAttribute' 在測試內容中沒有任何作用 |
MSTEST0032 | 檢閱始終為真斷言條件分析器 | 檢閱或移除斷言,因為已知其條件始終為真 |
MSTEST0034 | UseClassCleanupBehaviorEndOfClass | 使用 ClassCleanupBehavior.EndOfClass 搭配 [ClassCleanup] |
MSTEST0035 | 使用 DeploymentItem 與測試方法或測試類別標題 |
[DeploymentItem] 只能在測試類別或測試方法上指定 |
MSTEST0037 | 使用正確斷言方法分析器 | 使用適當的 Assert 方法 |
MSTEST0038 | 避免在值類型中使用 Assert.AreSame 的分析器 (AvoidAssertAreSameWithValueTypesAnalyzer) | 請勿搭配實值型別使用 Assert.AreSame 或 Assert.AreNotSame |