다음을 통해 공유


MSTest 사용 규칙

MSTest의 적절한 사용을 지원하는 규칙입니다.

식별자 이름 묘사
MSTEST0002 테스트클래스유효성검사기 [TestClass] 특성으로 표시된 클래스인 테스트 클래스는 MSTest에서 유효한 것으로 간주되도록 다음 레이아웃을 준수해야 합니다.
- public(또는 internal 속성이 설정된 경우에는 [assembly: DiscoverInternals])
- static 이면 안 됩니다.
- 일반적이어서는 안 됩니다.
MSTEST0003 TestMethodShouldBeValidAnalyzer (테스트 메서드는 유효해야 합니다. 분석기) [TestMethod] 특성으로 표시된 메서드인 테스트 메서드는 MSTest에서 유효한 것으로 간주되도록 다음 레이아웃을 준수해야 합니다.
- public(또는 internal 속성이 설정된 경우에는 [assembly: DiscoverInternals])
- static 이면 안 됩니다.
- 제네릭이 아니어야 합니다.
- abstract 이면 안 됩니다.
- 반환 형식은 void 또는 Task
- async void 이면 안 됩니다.
- 특수 메서드(예: 종료자 또는 연산자)가 아니어야 합니다.
MSTEST0005 테스트 컨텍스트 유효성 분석기 (TestContextShouldBeValidAnalyzer) TestContext 속성은 유효한 다음 레이아웃을 따라야 합니다.
- 속성이어야 합니다.
- public(또는 internal 속성이 설정된 경우에는 [assembly: DiscoverInternals])
- static 이면 안 됩니다.
- 읽기 전용이 아니어야 합니다.
MSTEST0007 UseAttributeOnTestMethodAnalyzer 다음 테스트 특성은 TestMethodAttribute 특성으로 표시된 메서드에만 적용해야 합니다.
- [CssIteration]
- [CssProjectStructure]
- [Description]
- [ExpectedException]
- [Owner]
- [Priority]
- [TestProperty]
- [WorkItem]
MSTEST0008 TestInitializeShouldBeValidAnalyzer [TestInitialize] 표시된 메서드는 유효한 다음 레이아웃을 따라야 합니다.
- 그것은 public이어야 합니다
- static 이면 안 됩니다.
- 제네릭이 아니어야 합니다.
- abstract 이면 안 됩니다.
- 매개 변수를 사용하지 않아야 합니다.
- 반환 형식은 void, Task 또는 ValueTask
- async void 이면 안 됩니다.
- 특수 메서드(종결자, 연산자...)가 아니어야 합니다.
MSTEST0009 TestCleanupShouldBeValidAnalyzer [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 어셈블리 초기화의 유효성을 검사해야 함 분석기 [AssemblyInitialize] 표시된 메서드는 유효한 다음 레이아웃을 따라야 합니다.
- 그것은 public이어야 합니다
- 그것은 static이어야 합니다
- 제네릭이 아니어야 합니다.
- TestContext 형식의 매개 변수 하나를 사용해야 합니다.
- 반환 형식은 void, Task 또는 ValueTask
- async void 이면 안 됩니다.
- 특수 메서드(종결자, 연산자...)가 아니어야 합니다.
MSTEST0013 어셈블리정리유효성분석기 [AssemblyCleanup] 표시된 메서드는 유효한 다음 레이아웃을 따라야 합니다.
- 그것은 public이어야 합니다
- 그것은 static이어야 합니다
- 제네릭이 아니어야 합니다.
- 매개 변수를 사용하지 않아야 합니다.
- 반환 형식은 void, Task 또는 ValueTask
- async void 이면 안 됩니다.
- 특수 메서드(종결자, 연산자...)가 아니어야 합니다.
MSTEST0014 데이터 행 유효성 확인 분석기 [DataRow] 인스턴스는 다음과 같은 레이아웃이 유효해야 합니다.
- 테스트 메서드에서만 설정해야 합니다.
- 인수 개수가 메서드 매개 변수 수와 일치해야 합니다.
- 인수 형식이 메서드 인수 형식과 일치해야 합니다.
MSTEST0017 주장이 인수는 올바른 순서로 전달되어야 합니다 어설션 인수는 올바른 순서로 전달되어야 합니다.
MSTEST0018 DynamicDataShouldBeValidAnalyzer [DynamicData] 표시된 메서드도 [TestMethod](또는 파생 특성)로 표시되어야 합니다.
MSTEST0023 DoNotNegateBooleanAssertionAnalyzer 불리언 어설션을 부정하지 마세요.
MSTEST0024 DoNotStoreStaticTestContextAnalyzer (정적 테스트 컨텍스트를 저장하지 않는 분석기) TestContext를 정적 멤버에 저장하지 마세요.
MSTEST0026 AssertionArgsShouldAvoidConditionalAccessRuleId 어설션에서 조건부 액세스 방지
MSTEST0030 테스트 메서드를 포함하는 타입은 테스트 클래스여야 합니다 [TestMethod] 포함하는 형식은 [TestClass]
MSTEST0031 DoNotUseSystemDescriptionAttribute 'System.ComponentModel.DescriptionAttribute'는 테스트 컨텍스트에 영향을 주지 않습니다.
MSTEST0032 리뷰올웨이즈트루어설트컨디션애널라이저 조건이 항상 true인 것으로 알려져 있으므로 어설션을 검토하거나 제거합니다.
MSTEST0034 UseClassCleanupBehaviorEndOfClass ClassCleanupBehavior.EndOfClass와 함께 [ClassCleanup] 사용
MSTEST0035 UseDeploymentItemWithTestMethodOrTestClassTitle [DeploymentItem] 테스트 클래스 또는 테스트 메서드에서만 지정할 수 있습니다.
MSTEST0037 UseProperAssertMethodsAnalyzer (적절한 단언 메서드 분석기 사용) 적절한 Assert 메서드 사용
MSTEST0038 AvoidAssertAreSameWithValueTypesAnalyzer (어설션이 같은 값 타입을 회피하는 분석기) 값 형식에 Assert.AreSame 또는 Assert.AreNotSame 사용하지 마세요.
MSTEST0039 UseNewerAssertThrowsAnalyzer (새로운 AssertThrows 분석기 사용) 최신 'Assert.Throws' 메서드를 사용하세요.
MSTEST0040 AvoidUsingAssertsInAsyncVoidContextAnalyzer는 호출 메소드 내에서 assert를 사용하지 말라는 분석기입니다. 'async void' 컨텍스트 내에서 어설션하지 마세요.