5 Stimmen

Nashorn spottet. Hinzufügen der Erwartung, dass ein Ereignis-Handler abonniert wurde

Ich habe eine solche Schnittstelle:

interface IView
{
     event EventHandler<MyEventArgs> SomeEvent;
}

und eine Klasse

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

     private MyEventHandler(...)
}

Ich versuche, dieses Zeug mit RhinoMocks zu testen und MockRepository.VerifyAll() löst die folgende Ausnahme aus

Rhino.Mocks.Exceptions.ExpectationViolationException: IView.add_SomeEvent(System.EventHandler`1[MyEventArgs]); Erwartet #1, Tatsächliche #0.

Daher die Frage:

Wie kann man die Erwartung hinzufügen, dass ein Ereignis abonniert ist?

4voto

Eugene Punkte 1505

Sorry Leute, ich habe herausgefunden, was ich falsch gemacht habe:

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

Presenter p = new Presenter(_viewMock);

_mockRepository.ReplayAll();

...

_mockRepository.VerifyAll();

Ich musste ReplayAll verwenden, bevor ich eine neue Instanz von Presenter erstellt habe.

Gracias.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X