|
From: Steve M. <Ste...@ty...> - 2007-09-11 12:57:57
|
Can you give a more complete example of what you are trying to =
accomplish? In your sample, you could use Expect.AtLeastOnce as the =
expectation to achieve the same effect.
I'm also not following your event code example. It appears that you are =
only exercising the mocked view and nothing of a controller class is =
apparent in your sample. You need to give a better example here as well =
for me to determine what it is you are trying to accomplish.
I will say that in the current code drop there is some new event =
handling code that may suit your needs, so you can write the following =
(the sample is from the acceptance test)
listenerMessage =3D null;
Mockery mocks =3D new Mockery();
Announcer announcer =3D (Announcer) mocks.NewMock(typeof(Announcer));
=09
Expect.Once.On(announcer).EventAdd("Listeners", Is.Anything);
=09
announcer.Listeners +=3D new Listener(DummyListener);
=09
Fire.Event("Listeners").On(announcer).With("Test Message");
This might help to serve your purpose.
-----Original Message-----
From: nmo...@li... =
[mailto:nmo...@li...] On Behalf Of Heiko =
Hatzfeld
Sent: Tuesday, September 11, 2007 6:09 AM
To: nmo...@li...
Subject: [NMock2-Dev] Feature Request: "Stub" should have a lower =
prioritythen "Expect"
Hello...
This is my first post and I already got some complains.. I know its a =
great start, but here we go...
Giving this code:
IDbObject foo =3D _mocks.NewMock<IDbObject>();
Stub.On(foo).SetProperty("Id");
Expect.Once.On(foo).SetProperty("Id");
foo.Id =3D 123;
_mocks.Verify.......;
It will generate an exception. The reason is that the above code will =
not satisfy my expection, since the stub which was defined 1st, will =
catch the assignment and so the expection will never be reached.
I think that an expection is much more important then a stub (Which is =
kinda a "Fallback" only).
For example... I want to test a controller for a view, and Verify that =
the events are propperly setup and processed...
I cannot create an implicit setup for the view (which creates the view =
and stubs all events), and then attach a real expection onto the view, =
that will allow me to sneak a mockEvent in, so i can fire it from the =
outside, and verify that the controler does its work.
I currently need to declare an implicit setup, which defines expections, =
since those can be removed by adding a "fake" Handler on the Mock e.g.:
//Inside CreateViewAndSetupBasicEvents Function
Expect.Once.On(mockedView).EventAdd("Save", Is.Anything);
//Inside my "real" test function...
mockedView.Save +=3D null;
Expect.Once.On(mockedView).EventAdd("Save", Is.Anything)
.Will(MockEvent.Hookup(mockevent));
mockEvent.Raise();
Hope this makes sense....
I know i could "fix" it, by creating the view 1st and then adding the =
expections, and THEN finally adding all the stubs... But i kinda got =
attached to my setup functions so i can create and setup a basic mock =
with one call... Without that I would have to move the creation of the =
mock around, and I feel like i am "loosing" some clarity in my test, if =
I move to much into the "general" setup method.
--=20
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!=20
Ideal f=FCr Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
-------------------------------------------------------------------------=
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
NMock-two-dev mailing list
NMo...@li...
https://lists.sourceforge.net/lists/listinfo/nmock-two-dev
|