Note that there are some explanatory texts on larger screens.

plurals
  1. POHow do you raise an event from a Strict Mock in Rhino Mocks?
    text
    copied!<p>I want to test that the following code sets the Raised property when the MyEvent event is raised:</p> <pre><code>public interface IEventRaiser { event EventHandler&lt;Args&gt; MyEvent; void DoSomething(); } public class EventSubscriber { public EventSubscriber(IEventRaiser raiser) { this.raiser = raiser; this.raiser.MyEvent += EventRaised; } private readonly IEventRaiser raiser; private void EventRaised(object sender, Args args) { raiser.DoSomething(); Raised = true; } public bool Raised {get; private set;} } </code></pre> <p>I am using the following NUnit test code, but the event never seems to be raised. The EventRaised method is never running:</p> <pre><code>[TestFixture] public class EventSubscriberTests { private MockRepository mocks; private IEventRaiser raiser; private EventSubscriber target; [SetUp] public void SetUp() { mocks = new MockRepository(); raiser = mocks.StrictMock&lt;IEventRaiser&gt;(); raiser.Expect(r =&gt; r.MyEvent += null).IgnoreArguments(); mocks.ReplayAll(); target = new EventSubscriber(raiser); } [TearDown] public void TearDown() { mocks.VerifyAll(); } [Test] public void VerifyEventIsSubscribedTo() { raiser.BackToRecord(); raiser.Expect(r =&gt; r.DoSomething()); raiser.Replay(); raiser.Raise(r =&gt; r.MyEvent += null, raiser, new Args {Property = true} ); Assert.IsTrue(target.Raised); } } </code></pre> <p>If I don't add the extra expectation in before raising the event, this works fine. However, I can't seem to make it work with it. What am I doing wrong?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload