2009-10-01 6 views
7

단위 테스트에 대한 입력으로 데이터 파일을 사용했습니다. 이 파일들은 상당히 크고 단위 테스트가 실행될 때마다 파일을 복사하고 싶지 않습니다. 테스트는 배포없이 실행됩니다. 그래서 난 그냥 내 솔루션 아래에 폴더에 넣을 수 있습니다 ... 내 솔루션 (또는 프로젝트 소스 코드를 테스트하는 방법을 단위 테스트가 실행되는 경로를 얻는 방법?Visual Studio unit testing - 외부 파일에 액세스하는 방법?

답변

0

당신은 사용할 수 있습니다 : 당신의 검사 결과에

Assembly.GetExecutingAssembly().Location 

을 단위 테스트를 포함하는 어셈블리의 경로를 얻을 수 있습니다.

+0

그것은 단위 테스트의 바이너리 파일의 위치를 ​​알려주지 만 솔루션의 루트에 대한 경로를 여전히 모릅니다. – skevar7

+2

이 답변은 잘못되었습니다. Unit 테스트 중 Assembly.GetExecutingAssembly(). Location은 임시 테스트 폴더를 가리 킵니다. 원래의 포스터는 프로젝트 폴더의 파일에 액세스해야합니다. –

3

테스트 프로젝트를 다른 방법 (TD.NET, Visual Studio, R # 등)으로 실행할 수 있기 때문에 테스트를 참조하는 데 사용되는 경로가 변경 될 수 있습니다.

이러한 이유로 필자는 테스트에 필요한 파일을 테스트 어셈블리에 포함시키고 거기에서 그려냅니다.

0

간단히 파일의 위치를 ​​구성 가능 (및 테스트 가능)하게 만드십시오.

그런 다음 단위 테스트 코드에서 설정하거나 일부 구성 파일을 통해 설정하십시오.

관련 문제