2009-08-25 2 views
2

13 개의 별도의 관련 아키텍처 어셈블리와 13 개의 개별 NUnit 테스트 어셈블리가 있습니다. 각 어셈블리에는 해당 아키텍처 어셈블리의 모든 테스트 픽스처가 포함되어 있습니다. 나는 NUnit 2.5.2 (현재 최신 버전)를 사용 중입니다.여러 NUnit 테스트 어셈블리. 각각 다른 구성이 필요합니다. 한 번에 NUnit을 실행하려면 어떻게해야합니까?

각 테스트 어셈블리를 NUnit GUI에서 별도로 실행할 수 있으며 모든 테스트가 통과합니다. 그러나 NUnit 프로젝트 파일을 단일 NUnit 프로젝트 파일에 결합하면 NUnit은 전체 테스트 실행에 단일 config 파일을 적용해야한다고 주장합니다. 각 테스트 어셈블리마다 다른 구성이 필요하기 때문에이 기능이 작동하지 않습니다. 섹션 중 일부는 상호 배타적이므로 하나의 "uber-config"파일로 병합 할 수 없습니다. 별도의 AppDomains에서 프로젝트의 각 어셈블리를 실행하고 프로세스를 분리하려고 시도했지만 두 경우 모두 DLL 관련 구성 파일을 사용하지 못하므로 모든 테스트가 중단되고 레코딩됩니다.

Google 검색을 수행했지만 지금까지는 NUnit이이 시나리오를 지원한다는 표시를 발견하지 못했습니다. 내가 맞습니까, 아니면 놓친 것이 있습니까?

필자는 동일한 구성 파일을 공유 할 수 있도록 테스트를 다시 시도하기 위해 최선을 다했지만 필자는 그 패배를 인정해야했습니다.

답변

1

이전에는 각 어셈블리를 독립적으로 nunit 콘솔을 통해 실행하는 배치 파일로 수행했습니다. 한 시점에서 나는 XML 출력을 병합 한 것을 가지고 있었다. CruiseControl.Net 코드에있을 수 있습니다.

잠시 동안 NUnit 프로젝트를 작성하지 않았습니다. 내 머리 속에 오래된 코드 만있다. 그러나 문제는 AppDomain 당 하나의 구성을 가져오고 NUnit은 모든 테스트 어셈블리를 하나의 AppDomain으로로드한다는 것입니다.

당신은 ReSharper에서 또는 다른 주자를 시도 할 수도 NUnit과 2.5은 별도의 응용 프로그램 도메인에서 실행하기 위해 각 어셈블리를 가능하게 할 수있는 설정으로이 TestDriven.net

+0

감사 마이크. 나는 TestDriven.NET을 보았습니다. MBUnit으로 나를 안내해 주었고, Gallio로 안내하게되었습니다. NUnit 테스트 어셈블리에서 Gallio 프로젝트를 만들려고했는데 모든 테스트가 성공적으로 완료되었습니다 (일단 Gallio가 실행을 거부 한 모든 Setup Fixture를 제거 했음). NUnit GUI가 훨씬 더 좋은 오류 보고서를 가지고 있기 때문에 아마도 지금 NUnit과 Gallio GUI 사이를 바꿀 것입니다. –

6

. 이렇게하면 NUnit은 .nunit 프로젝트에 대한 설정이 아니라 어셈블리에 대한 설정을로드합니다.

추가 정보를 보려면 여기를 참조하십시오

http://nunit.org/index.php?p=settingsDialog&r=2.5

+0

비슷한 질문을 쓰는 중 이었지만, 문제는 다른 설정 파일이 아닌 다른 버전의 종속 DLL을 사용해야한다는 것이 었습니다. 나는 이것을보고 시험해 보았다. 완벽하게 작동합니다. 감사! –

관련 문제