2012-02-17 6 views
5

tengo una interfaz como que:Rhino Mocks. Cómo agregar expectativa de que controlador de eventos fue suscrito

interface IView 
{ 
    event EventHandler<MyEventArgs> SomeEvent; 
} 

y una clase

class Presenter 
{ 
    private IView _view; 
    public Presenter(IView view) 
    { 
     view.SomeEvent += MyEventHandler; 
    } 

    private MyEventHandler(...) 
} 

Estoy intentando probar esto usando RhinoMocks y MockRepository.VerifyAll () arroja la siguiente excepción

Rhino.Mocks.Exceptions.ExpectationViolationException: IView.add_SomeEvent (System.EventHand ler`1 [MyEventArgs]); Se esperaba # 1, Actual # 0.

Entonces la pregunta:

Cómo agregar la expectativa de que evento está suscrito?

+3

¿Cómo agrega la expectativa cuando falla? –

Respuesta

4

Lo siento chicos, he encontrado lo que estaba haciendo mal:

_viewMock.Expect(x => x.SomeEvent+= Arg<EventHandler<MyEventArgs>>.Is.Anything); 

Presenter p = new Presenter(_viewMock); 

_mockRepository.ReplayAll(); 

... 

_mockRepository.VerifyAll(); 

tuve que Replayall antes de crear nueva instancia de presentador.

Gracias.

+1

También asegúrese de escribir un caso de prueba válido, ya que aquí está cubriendo solo un hecho de que el presentador escucha el evento de View – sll

+0

Gracias por la sugerencia, creo que mis casos de prueba son correctos, tuve el único problema con esa expectativa . – Eugene

Cuestiones relacionadas