2009-02-05 1 views
1

각 단위 테스트 프로젝트로 두 개의 프로젝트가 있고 각 프로젝트 + 테스트 프로젝트 쌍마다 하나의 app.config가 있습니다. 매번 한 번만 실행하면 테스트가 실패하지 않습니다. 그러나 "모든 테스트를 솔루션에서 실행"을 사용하면 모든 테스트가 app.config 파일 중 하나만 사용하게되며이 테스트 프로젝트 중 하나의 테스트에서 모두 잘못 될 것입니다.하나의 솔루션으로 두 개의 테스트 프로젝트 app.config 문제 (Visual Studio 2008 Professional)

분리 된 솔루션을 사용하지 않고 단일 프로젝트에서 모든 테스트를 실행하여 다른 프로젝트의 app.config를 사용하지 않으려면 어떻게해야합니까?

답변

2

나는 당신이 할 수있을 것이라고 생각하지 않습니다. 문제는 Visual Studio에서 MSTest에 단일 테스트 목록을 전달하는 것입니다. 시작시 MSTest는 첫 번째 .DLL의 구성 파일을 사용합니다.

성능상의 이유로 MSTest는 다른 .DLL에서 테스트를 발견하면 새 프로세스를 분리/회전하지 않으므로 두 번째 구성 파일을로드하지 않습니다.

두 가지 옵션이 있습니다.

  1. 구성 파일을 병합하여 테스트에서 공유 할 수 있도록합니다.

  2. 구성 파일을 필요로하지 않도록 테스트를 변경하십시오. 자신이 가지고있는 사실은 의존성으로부터 격리 된 단위 테스트 대신 통합 테스트를 수행하고 있음을 제안 할 것입니다. 그러나 복잡한 코드베이스를 가지고 있다면 그것이 왜 발생 하는지를 이해할 수 있습니다.

관련 문제