Tuesday, March 27, 2007 7:32 PM
Just a quick not to let people know that
Ayende has released version 3.0 of
Rhino.Mocks. I've been working with beta 4 for about two weeks now and it's been really,
really solid. He offers a list of several new features on his site, but the one I noticed right off was better error messages at runtime. The first couple times you use a mocking library it may not necessarily be the most intuitive thing you've ever done. Luckily, I found a kind soul in the forums who was patient enough to lend me a hand...over and over again :) on my first time out. When I started playing with this version, and started making my same old mistakes again, I noticed the exception messages I was getting at runtime were a lot clearer and let me know immediately what I had done wrong.
This is my absolutely favorite mocking framework and if you've never checked it out I strongly encourage you to give it a shot. One of the things that really sets it apart is the fact that your methods are actually specified by their types and not by literal strings which makes impossible to misspell a type name and method name leaving you scratching your head as to why it doesn't work. Rhino.Mocks is also much more forgiving as to what kinds of types you can mock. Where most mocking frameworks only let you mock interfaces, Rhino.Mocks lets you mock interfaces and concrete classes both...and even concrete classes without default constructors. Finally, and this is a matter of personal preference mind you, if you've never used a mocking framework before then you should know that the syntax can get a little hairy. That said, however, Rhino.Mocks has one of the cleanest syntax I've seen out of a mocking framework. In fact, I would even go as far as to say that Rhino.Mocks makes method chaining look good :)
If you're interested you can check out a good intro
article by Ayende himself (note that this article is about the 2.0 version) or just
download it and jump right in! Are you license shy? Don't worry, Rhino.Mocks is released under the extremely liberal
BSD license.
Congratulations, Ayende, on another version of this awesome framework!