Usando Rhino Mocks, ¿cómo me aseguro de que no se invoque un método mientras configura las Expectativas en el objeto simulado?Cómo establecer la llamada Esperar para verificar que no se llame a un método en Rhino Mocks
En mi ejemplo, estoy probando el método Commit y necesito asegurarme de que no se invoque el método Rollback mientras realizo la confirmación. (Esto es porque tengo la lógica en el método commit que va a deshacer de forma automática si confirmación falla)
Así es como el código es el siguiente ..
[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();
}
Por supuesto, no puedo hacer esto en fase de Assert como esto :
mockStore.AssertWasNotCalled(x => x.Rollback());
Pero me gustaría establecer esto como una Expectativa en primer lugar.
¿Por qué quiere usar Expectation, y no solo opta por AssertWasNotCalled? – Cousken
@Cousken AssertWasNotCalled() no parece funcionar con BackToRecord() y Replay(), tal vez esa es la razón ?? – danio