2009-05-30 2 views
7

Unit Tests (mstest)를 실행하려고하면이 문제가 발생합니다. 코드의
라인 :app.configs 및 MSTest Project - 연결 문자열에 대한 null 참조

_mainCnStr = System.Configuration.ConfigurationManager. 
       ConnectionStrings["main"].ConnectionString; 

다시 Null 참조

온다 내가 그것을 실행하면 메인 UI 프로젝트에서이 작업을 수행하지 않습니다. 유닛 테스트 프로젝트에서 볼 수있는 연결 문자열 설정을 얻는 올바른 방법은 무엇입니까? 리소스로 포함을 시도했습니다. 나는 항상 복사를 시도했다. 이 문제를 해결할 올바른 설정 조합은 무엇입니까?

답변

8

단위 테스트 프로젝트에 app.config을 추가해야합니다. UI 응용 프로그램의 app.config에서 자동으로 설정을 사용하지 않습니다.

+0

내 구성을 어셈블리에 포함하면 안됩니다. 나는 전에 이것을 본 것으로 생각했다. – BuddyJoe

+0

허. 오류가 계속 발생하면서 복사했습니다. 이상한 – BuddyJoe

+0

테스트 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "Application Configuration File"을 추가하고 내용을 복사하십시오. 그것은 작동해야합니다 ... –

0

mstests는 nunit 테스트와 마찬가지로 테스트 응용 프로그램에서로드되는 별도의 어셈블리에 내장되어 있다고 가정합니까? 이 경우 구성 파일에로드되는 테스트 설정 코드를 만들어야 할 수 있습니다.

9

MSTest에서 볼 수있는 한 가지 (적어도 IDE에서); 일반 출력 (bin) 폴더에서 테스트를 실행하지 않으며 프로젝트의 파일 포함 ("Copy to Output Directory")을 고려하지 않습니다. 테스트 영역에 넣을 파일을 명시 적으로 말해야합니다 (MSTest). 이 목록에 "app.config"를 포함시켜야합니다. testrunconfig ("Deployment")를 사용하거나 영향을받은 테스트 픽스처에 속성 ([DeploymentItem])을 추가하십시오.

+2

TestItem ("db.config")을 테스트 클래스 위에 놓은 후에 작동했습니다! 감사. – Jirapong