2011-06-12 4 views
0

다음은 "ConfigurationSection"클래스의 "LoggerName"속성입니다.Rhino Mock을 사용하여 Getter 가져 오기

/// <summary> 
/// Gets The LoggerName. 
/// </summary> 
[ConfigurationProperty("LoggerName", IsRequired = true)] 
public string LoggerName 
{ 
    get { return Convert.ToString(this["LoggerName"]); } 
} 

이 유형의 스텁이나 엄격한 모의를 생성하면이 속성이 호출 될 때 예외가 발생합니다.

내가 같은 코드로이 속성을 조롱하기 위해 시도했다 :

Expect.Call(configSection.LoggerName).Return("LOREMIPSUM"); 

configSection.Stub(x => x.LoggerName).Return("LOREMIPSUM"); 

그러나이 코드는 속성 게터 것을 호출하고 예외가 발생합니다.

나는 여러 곳에서 살펴 봤는데 내가 시도한 모든 방법이 똑같은 일을한다.

나에게 도움이 될만한 정보를 아는 사람이 있습니까?

미리 감사드립니다.

라이언

코뿔소와 클래스를 조롱 들어

답변

2

, 당신은 virtual로 조롱하는 속성을 표시해야합니다.

당신이

public virtual string LoggerName 
{ 
    get { return Convert.ToString(this["LoggerName"]); } 
} 

에 속성을 변경 시도하고 당신이 일을 얻을 수 있는지 볼 수 있을까요?

+1

인터페이스를 추출해보십시오. ILog {string LoggerName {get; set}} –

+0

또 다른 옵션은 가상 클래스에 일리가있는 클래스를 표시 할 필요가 없도록 모의 클래스 용 IL을 내보낼 수있는 조롱 프레임 워크로 전환하는 것입니다. 테스트 용입니다. –

+0

PostSharp는 무료가 아닙니다.) –