Я не уверен, как ваш тест на самом деле вызывает метод DoSomething (). Может быть, вы что-то упустили, чтобы запустить событие. Кроме этого, я думаю, что вы на правильном пути для тестирования событий с Rhino Mocks
В любом случае, вот еще один способ, которым мне нравится иметь дело с событиями:
[Test]
public void MyEventTest()
{
IEventRaiser eventRaiser;
mockView = _mocks.CreateMock<IView>();
using (_mocks.Record())
{
mockView.DoSomethingEvent += null;
eventRaiser = LastCall.IgnoreArguments();
}
using (_mocks.Playback())
{
new Controller(mockView, mockModel);
eventRaiser.Raise(mockView, EventArgs.Empty);
}
}