2011-05-20 10 views
8

Replayall() y VerifyAll() en RhinoMocks

[Test] 
public void MockAGenericInterface() 
{ 
    MockRepository mocks = new MockRepository(); 
    IList<int> list = mocks.Create Mock<IList<int>>(); 
    Assert.IsNotNull(list); 
    Expect.Call(list.Count).Return(5); 
    mocks.ReplayAll(); 
    Assert.AreEqual(5, list.Count); 
    mocks.VerifyAll(); 
} 

¿Cuál es el propósito de ReplayAll()VerifyAll() y en este código?

Respuesta

19

El fragmento de código muestra la sintaxis Record/Replay/Verify de Rhino.Mocks. En primer lugar, grabar las expectativas de una maqueta (usando Expect.Call(), a continuación, se llama a ReplayAll() para ejecutar la simulación simulacro. A continuación, se llama a VerifyAll() para verificar que todas las expectativas se han cumplido.

Esta es una sintaxis obsoleta, por cierto La nueva sintaxis se llama AAA Syntax - Arrange, Act, Assert y generalmente es más fácil trabajar con ella que con la anterior R/R/V. Usted codifica como cortada traducida a AAA:

[Test] 
    public void MockAGenericInterface() 
    { 
    IList<int> list = MockRepository.GenerateMock<IList<int>>(); 
    Assert.IsNotNull(list); 
    list.Expect (x => x.Count).Return(5); 
    Assert.AreEqual(5, list.Count); 
    list.VerifyAllExpectations(); 
    } 
Cuestiones relacionadas