Używając Rhino Mocks, w jaki sposób upewnić się, że metoda nie jest wywoływana podczas konfigurowania oczekiwań na próbnym obiekcie.Jak ustawić wywołanie Expect, aby sprawdzić, czy metoda nie jest wywoływana w Rhino Mocks
W moim przykładzie testuję metodę Commit i muszę się upewnić, że metoda Rollback nie zostanie wywołana podczas wykonywania commit. (To dlatego, że mam logiki w sposobie popełnienia który automatycznie wycofać jeśli zobowiązują się nie powiedzie)
Oto jak kod wygląda ..
[Test]
public void TestCommit_DoesNotRollback()
{
//Arrange
var mockStore = MockRepository.GenerateMock<IStore>();
mockStore.Expect(x => x.Commit());
//here i want to set an expectation that x.Rollback() should not be called.
//Act
subject.Commit();
//Assert
mockStore.VerifyAllExpectation();
}
Oczywiście, można zrobić to w fazie Assert jak ta :
mockStore.AssertWasNotCalled(x => x.Rollback());
Ale chciałbym ustawić to jako oczekiwanie w pierwszej kolejności.
Ciekawi mnie, dlaczego chcesz używać Expectation, a nie tylko wybrać AssertWasNotCalled? – Cousken
@Cousken AssertWasNotCalled() wydaje się nie działać z BackToRecord() i Replay(), może to jest powodem? – danio