Rhino Mocks 3.0: Beta 2 Released
Took a bit longer than I anticipated, since people found some really hard bugs with regards to the generics support. I now know a lot more than I ever wanted to about generics, and I considered myself an expert before-hand.
Anyway, the new bits have:
- Improved support for wacky generics scenarios. Thanks to James and Thierry.
- Better support for types having non inheritable attributes that cannot be easily replicated. Thanks to Aaron.
- Better support for types implementing interfaces by using a base class that is located in another assembly.* Thanks to Aaron.
- Included XML Documentation files.
- All merged assemblies are not marked internal, to save your from collisions if you are using the Castle bits yourself.
Changes:
The CallOriginalMethod() was deprecated, you are now encouraged to use CallOriginalMethod(OriginalMethodOptions.NoExpectation) or CallOriginalMethod(OriginalMethodOptions.CreateExpectation) instead. The reasoning behind the change is that currently CallOriginalMethod looks like it create an expectation, but it doesn't really does it, s it is better to be explicit about the whole thing. Thanks for Enrst for pointing it out to me.
As usual, the binaries and source are here.
* If you understood what that meant...
Comments
The .zip appears to be corrupt (only ~104 KB?)
I'm so glad we've got generics support now, I can get rid of a bunch of classes with this!
Can I make a feature request? Can you add a property to the MockRepository that tells me if it's in record or replay state? I have some testfixtures where the teardown does a VerifyAll, but occasionaly a test will slip in that doesn't make any expectations, so I have to call mocks.ReplayAll() in it otherwise i get an exception in the TearDown
@Andrew,
It should be that small, yes.
If you got a corrupt file, please download again, I just verified that it works.
@David,
There is no such state as Record/Replay for the whole repository, only for a single mock object.
What I tend to do for the TearDown is just put:
mocks.ReplayAll();
mocks.VerifyAll();
ReplayAll will move all those that are in record state to replay mode, which will make Verify happy.
Now I feel stupid! Thanks Ayende
Thanks Ayende. Download now fine - but get the error:
Access is denied: 'Castle.DynamicProxy.AbstractInvocation'.
Repro with:
Opps, that was my mistake.
Please try again, it should work now.
Great - that's worked. Cheers.
I tried to download as well and got:
Compressed (zipped) Folders Error
The Compressed (zipped) Folder is invalid or corrupted.
OK
Please try now, and tell me if the problem persists.
I am also having the problem downloading the zip, I also get zip is corrupt.
Comment preview