2012-04-13 5 views
3

제대로 인증 된 응용 프로그램에 연결 문자열을 제공하는 중앙 집중식 서비스를 구축 할 생각입니다.Moles를 사용하여 Unit Test가 아닌 System.Configuration을 덮어 쓰기

정상적인 프로세스와 호환되도록 서비스를 유지하려면 app.config 또는 web.config의 System.Configuration ConnectionString을 재정의하는 것이 가장 좋습니다.

나는 이것을하기 위해 Moles를 사용하려고 생각했지만, 내가 찾던 유일한 예는 UnitTests입니다.

내가 정말로 갖고 싶은 것은 System.Configuration.ConfigurationManager 클래스에 대한 Mole 재정의입니다. 따라서 연결 문자열의 사용자 지정 스타일을 찾기 위해 ConnectionStringsGet 메서드를 특히 재정의 할 수 있습니다. 찾지 못한 경우에는 정상적인 연결 문자열을 처리하기 위해 원래 ConfigurationManger 코드로 호출을 전달하십시오.

나는이 아이디어를 시작하는 방법에 대해 머리를 쓰고 있기 때문에 Moles에 어떤 코드도 작성하지 않았습니다. 누군가가 시작하는 방법에 대한 지침을 가지고 있다면, 나는 그것을 가지고 가서 좀더 파고들 것이다.

+0

재미있는 개념은 응답 및/또는 조사를 보는 데 관심이 있어야합니다. –

답변

2

Moles는이 시나리오에서 System.Configuration을 무시하려고 시도하지 않는 것으로 보입니다.

나는 system.configuration 프로세스를 사용자 정의하는 유망한 방법을 보여주는 몇 개의 게시물을 발견했습니다.

먼저 앤디 Pook http://andypook.blogspot.com/2007/07/overriding-configurationmanager.html에 의해 블로그 포스트이며, 두 번째는이 기사는 나의 사고 과정에 유용했을

앤디 http://www.codeproject.com/Articles/69364/Override-Configuration-Manager에 의해 주어진 솔루션을 확장하는 CodeProject의 기사입니다.

0

설정 파일에서 데이터를 가져 오는 인터페이스와 정적 멤버를 래핑하는 클래스를 만드는 것이 더 나을 것입니다. 그런 다음 사용자 지정 논리를 수행하고 표준 정적 메서드로 돌아갈 수 있습니다.