저는 Moq을 사용하여 몇 가지 테스트를 진행했지만 try catch 블록을 통해 두 번 호출하려는 메소드를 테스트하는 데 어려움이있었습니다. 원칙은 첫 번째 호출이 예외를 throw 한 다음 catch에서 문제를 해결하고 메서드를 다시 호출한다는 것입니다.Moch와 Rhino Mock을 비교해보십시오.
다음과 같이 Rhino Mocks로 관리했지만 두 프레임 워크에 익숙하지 않아 Moq를 사용하여 동일한 결과를 얻을 수 있는지 알려주는지 궁금했습니다.
// C.U.T
public class Mockee
{
bool theCatLives = true;
public Mockee() { }
public virtual void SetFalse()
{
theCatLives = false;
}
}
[Test]
public void TestTryCatch(){
var mr = new MockRepository();
var mock = mr.StrictMock<Mockee>();
mr.Record();
Expect.Call(mock.SetFalse).Throw(new Exception());
Expect.Call(mock.SetFalse);
mr.ReplayAll();
try
{
mock.SetFalse();
}
catch
{
mock.SetFalse();
}
mock.VerifyAllExpectations();
}
감사합니다. 저는 CallBack()으로 아직 연주하지 않았으며 재미 있습니다! – Grokodile