다음을 통해 공유


MSTEST0001: 테스트 병렬화를 명시적으로 사용 또는 사용 안 함으로 설정합니다.

속성
규칙 ID MSTEST0001
타이틀 테스트 병렬화를 명시적으로 사용 또는 사용 안 함
범주 성능
수정 사항이 주요 변경인지 여부 주요 변경 아님
기본적으로 사용하도록 설정됨
기본 심각도 정보
버전에서 도입됨 3.2.0
코드 수정을 할 수 있나요 아니요

원인

어셈블리가 [assembly: Parallelize] 또는 [assembly: DoNotParallelize] 특성으로 표시되지 않았습니다.

규칙 설명

기본적으로 MSTest는 동일한 어셈블리 내에서 테스트를 순차적으로 실행하므로 심각한 성능 제한 사항이 발생할 수 있습니다. 테스트를 병렬로 실행하려면 어셈블리 특성 [assembly: Parallelize]를 사용하도록 설정하고, 어셈블리가 병렬화할 수 없는 것으로 알려진 경우 어셈블리 수준 특성 [assembly: DoNotParallelize]를 명시적으로 사용하는 것이 좋습니다.

[assembly: Parallelize]의 기본 구성은 [assembly: Parallelize(Scope = ExecutionScope.ClassLevel)]과 동등합니다. 즉, 병렬화가 클래스 수준(메서드 수준 아님)에서 설정되고 내부 구현에 따라 가능한 한 많은 스레드를 사용한다는 의미입니다.

위반 문제를 해결하는 방법

이 규칙 위반을 수정하려면 [assembly: Parallelize] 또는 [assembly: DoNotParallelize] 특성을 추가합니다. 최상의 병렬화를 위해서는 [assembly: Parallelize(Scope = ExecutionScope.MethodLevel)]을 사용하는 것이 좋습니다.

경고를 표시하지 않는 경우

이 규칙에서는 경고를 표시해야 합니다. 병렬화를 사용하도록 설정하면 많은 라이브러리가 엄청난 성능 향상의 이점을 활용할 수 있습니다. 병렬화를 방지하는 방식으로 테스트 애플리케이션을 설계할 때 특성을 명시적으로 설정하면 새로운 개발자가 라이브러리의 제한 사항을 이해하는 데 도움이 됩니다.

경고 표시 안 함

이 규칙 위반은 인라인으로 억제할 수 없습니다.

파일, 폴더 또는 프로젝트에 대한 규칙을 사용하지 않도록 설정하려면, none에서 해당 항목의 심각도를 으로 설정하세요.

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

자세한 내용은 코드 분석 경고표시하지 않는 방법을 참조하세요.