Rhino Mocks 3.3 is Ready
The latest version of the very popular mocking framework, Rhino Mocks version 3.3 is complete and ready to be used by your tests. This version has been in development for a couple months.
From the announcement by Ayende Rahien:
Probably the two big new features is the ability to call void methods using Expect.Call and the ability to use remoting proxies to mock classes that inherit from MarshalByRefObject. Rhino Mocks will now choose the appropriate mocking strategy based on the type you want.
Keep in mind you cannot pass constructor arguments or create partial mocks with remoting proxies. The change log include such updates as:
- Fixing inconsistency in how Is.Equals handled ICollection instances, now it will compare them by their values, not their Equals()
- Fixing NASTY bug where setup result that were defined in a using(mocks.Ordered()) block were not registered properly.
- Changing error message to "are you calling a virtual (C#) / Overridable (VB) method?" - make it friendlier to VB guys.
- Exception for Record will not trigger a ReplayAll(), which can mask the exception.
- Adding a check for running on Mono to avoid calling Marshal.GetExceptionCode in that case.
- Adding support for calling void methods using Expect.Call
- Adding remoting proxies.
- Made IMethodOptions generic. Allows compile time type safety on Return.
- Adding a PublicFieldConstraint