2
예외 작동하지 않는 것 방법이 작동하지 않습니다RhinoMock.BackToRecord 내가 테스트 사이에 기대를 재설정 성공적으로 다음을 사용했다
[SetUp]
public void Setup()
{
//reset expectations for each test
MockRestQuestionClient.BackToRecord(BackToRecordOptions.Expectations);
MockRestQuestionClient.Replay();
}
[Test]
public void Test1() {
MyMock.Expect(t => t.Something()).Returns(someObject);
}
[Test]
public void Test2() {
//this works when run individually, but fails if run after Test1
MyMock.Expect(t => t.Something()).Throw(new Exception());
}
모든 아이디어를 내가 잘못 뭘하는지?
감사합니다.
좋은 코드 재사용과 같습니다. 모든 관련 테스트에서 사용하기 위해 모든 모의 객체를 설정하는 기본 테스트 클래스가 있습니다 (이 작업은 Moq에서 잘 작동하지만 Moq에는 몇 가지 기능이 없습니다). 그리고 RhinoMocks는이 특별한 경우를 제외하고는 모두 잘 작동합니다. – sydneyos
여러 테스트에서 모든 모의를 설정하는 * 코드를 다시 사용하는 것이 좋습니다. 그러나 여러 테스트에서 동일한 모의 인스턴스 *를 다시 사용하는 것은 좋지 않습니다. 대답의 업데이트에서 내 제안을 참조하십시오. –
예약에 대한 답변을 수락합니다. 나는 어느 쪽이든 설득력있는 주장이있는 것 같지 않습니다. mock이 모의 (mocks)가 작동하지 않기 때문에 모의 객체를 재사용하지 않는다는 주장은 그들이해야 할 일을 말하게하는 강력한 근거가되어서는 안된다. 모의는 다시 설정할 수 있어야하며, 사실이 이상한 상황을 제외하고는 모릅니다. 그래서, 원래의 질문에 답이없고, 아마 Ayende 만 대답 할 수 있습니다. – sydneyos