2009-06-24 3 views
2

내 시험 방법 주어진 매개 변수를 사용하여 호출되었습니다Rhino는 조롱 - 어설 방법을 다음과 같이

[Test] 
    public void Generated_CaseNumber_should_be_set_as_LastCaseNumber_in_PropertiesManager() 
    {   

     String generatedCaseNumber = _sut.NextCaseNumber(); 

    } 

_sut 객체 유형 IPropertiesManager의 조롱 개체에 대한 종속성이 있습니다. 메서드 _sut.NextCaseNumber()는 고유 한 CaseNumber를 생성하고 UpdateLastCaseNumber() 메서드를 사용하여 IPropertiesManager에 저장 한 다음 생성 된 CaseNumber를 반환해야합니다.

IPropertiesManager 유형의 UpdateLastCaseNumber()라는 _sut.NextCaseNumber()를 다음 NextCaseNumber()의 호출자에게 반환 한 것과 동일한 매개 변수로 전달한다는 것을 어떻게 주장합니까?

답변

1

이렇게 추가하면 작동합니다.

using (mocks.Record()) 
{ 
    Expect.On(mockObj).Call(mockObj.UpdateLastCaseNumber(param)).Return(param); 
} 
using (mocks.Playback()) 
{ 
    var expected = param; 
    var actual = _sut.NextCaseNumber(param); 
    Assert.AreEqual(expected, actual); 
} 

(모의 객체 = 새로운 MockRepository, mockObj = IPropertiesManager)

0

IPropertiesManager 모의를 사용하려면 _sut을 가져와야합니다.

이 작업을 수행하는 한 가지 방법은 _sut의/new 생성자를 변경하여 IPropertiesManager를 가져 오는 것입니다.

테스트 용 _sut을 만들 때 IPropertiesManager 모의에서 보내십시오. 실제 코드에서 사용하는 경우 실제 객체를 보내거나 IPropertiesManager를 생성하는 다른 생성자를 사용하십시오.