Nunit (및 Mstest)은 정적/공유 변수를 변경하는 테스트를 어떻게 처리합니까?

StackOverflow https://stackoverflow.com/questions/154180

문제

공유 게이트웨이 패턴을 사용하여 제어 컨테이너의 역전을 구현하는 코드가 있습니다. 이 IOC를 사용하는 코드를 연습하는 수백 개의 수백 개의 Nunit 장치 테스트가 있습니다. 그들은 모두 (내 기계에서!) 작동하지만 이러한 테스트가 부하로 실패 할 수 있다고 우려합니다. Nunit (및 Mstest)이 여러 스레드에서 테스트를 병렬로 실행하려고 시도한 것 같습니다 (정적/공유 게이트웨이에서 레이스 조건을 확실히 트리거 할 것입니다). 내 경험은 Nunit이 테스트를 순서대로 실행하는 것 같습니다. 내 질문은 Nunit (또는 Mstest)가 유닛 테스트를 병렬로 실행 한 적이 있습니까? 그렇다면 어떤 조건에서? 그리고 어떤 종류의 구성 옵션을 통해 이것을 꺼질 수 있습니까?

도움이 되었습니까?

해결책

업데이트:

Visual Studio 2010은 테스트를 병렬로 실행하는 기능을 도입했습니다.

여기에 있습니다 단계별 기사 이를 활성화하는 방법에 대해.

Mstest :
Microsoft Visual Studio Team System의 David Williamson에 따르면 이 게시물 MSDN 포럼에서 :

테스트는 vs에서 또는 mstest.exe를 통해 실행될 때 절대 병렬로 실행되지 않습니다. 그들이 대 VS를 통해로드 테스트에서 실행되면 그것은 다른 이야기입니다. 그러나 기본 실행은 항상 연쇄입니다.

또한 MSTEST를 사용하여 실행되는 테스트는 각 테스트마다 깨끗한 슬레이트를 갖도록하기 위해 다른 스레드를 사용하여 각각 실행됩니다. 이 동작을 비활성화 할 방법이 없습니다.

NUNIT :
Nunit은 동일한 스레드에서 모든 테스트를 실행합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top