2009-10-20 6 views
1

방금 ​​내 asp.net 웹 응용 프로그램 프로젝트의 테스트 사례를 작성하기 위해 NUnit을 사용하기 시작했습니다.WAP + NUnit + WebConfigurationManager 핀

데이터베이스 값에 액세스하기 위해 작성된 코드 중 일부는 web.config 파일의 "configSections"아래에 정의 된 "섹션"에서 ConnectionString을 가져옵니다.

이 기능은 웹 브라우저에서 프로젝트를 정상적으로 실행하는 동안 문제가 없습니다. 그러나 테스트 케이스를 통해 동일한 메소드에 액세스하면 WebConfigurationManager.GetSection()은 항상 null을 리턴합니다.

처음에는 web.config의 AppSettings 섹션에도 액세스 할 수 없었지만 web.config 파일을 BIN 폴더에 복사하면 문제가 해결되었습니다. 그러나 여전히 "ConfigSection"내부의 "섹션"을 가져올 수 없습니다.

친절히 제안합니다.

답변

1

기본적으로 NUnit은 테스트가 포함 된 dll과 동일한 이름을 가진 구성 파일을 찾습니다. 따라서 someTests.dll NUnit을 가지고 있으면 someTests.dll.config를 가져오고 싶을 것입니다. 따라서 표준 exe의 경우 트릭은 dll 이름 패턴과 일치하도록 App.config를 복사하는 것입니다. 웹 앱에서도 작동한다고 생각합니다. web.config를 someTests.dll.config로 복사합니다. 하지만 솔직히 말해서 나는 보통 config에 도착해야하는 테스트를 작성하지 않으므로 확실하지 않습니다.

+0

감사합니다.하지만 web.config 파일을 bin 디렉토리로 복사하고 이름을 변경했습니다. appsettings 섹션이 어떻게 작동하는지 알려줍니다. 하지만 configSections에 액세스 할 수 없습니다. – araaku

+0

'WebConfigurationManager' 대신'ConfigurationManager' 만 사용해 보았습니까? 왜 그것이 도움이 될지 모르지만 시도할만한 가치가있을 것입니다. –

+0

ConfigurationManager가 작동하지 않았습니다. – araaku