NMock2 is a library for assisting test driven development of .NET code by providing a dynamic mock object creation framework.
In my last post on NMock2, I introduced the new Stub feature of NMock2 and its basic usage. In the second part, we are going to have a look at the advanced possibilities of the Stub mock style:
- Define Mock Style Of Nested Mocks
- Define Default Values

.NET, Software, Testing, Uncategorized
.NET, Mocking, mocking framework, mocks, NMock2
NMock2 is a library for assisting test driven development of .NET code by providing a dynamic mock object creation framework.
In this article, I’m going to show you the basics of the new stub feature in NMock2. Note that this feature is currently only available on the development trunk in the subversion repository at https://nmock2.svn.sourceforge.net/svnroot/nmock2/trunk. Therefore, the features discussed here may change for the next official release.
Stubs can be used in scenarios where you have to test an instance of a class (let’s call this object testee) and this testee makes calls to another object (dependency) but you simply do not care what the testee calls on the dependency because it is not relevant for your test case.
Stubs will simply ignore any calls to it and if the call has a return value then the stub provides a default value.

.NET, Software, Testing
.NET, Mocking, mocking framework, mocks, NMock2, stubs, unit testing
When I’m coaching teams in Test Driven Development (TDD), I’m often asked how to deal with the User Interface (UI). The problem is that the unit test frameworks are weak in testing Forms, Controls, Buttons, Grids, and so on. Weak because they do not support it at all or the tests become very fragile (e.g. renaming a Label causes the test to fail).
We address this problem with the Passive View Command pattern, PVC for short. 
.NET, Architecture, Testing
Model-View-Controller, Model-View-Presenter, Passive View, Passive View Command, Patterns, PVC, Test Driven Development, Testability, Unit Test
A few weeks ago, I started using Mockito. Mockito is a mocking framework for Java.
What mockito is able to do:
- mocking interfaces and abstract classes
- mocking concrete classes
- spy real objects
(http://code.google.com/p/mockito)
I liked mockito so much that I decided to present it to you…

Java, Testing
Java, mocking framework, Mockito, Testing
Andrew Kazyrevich published a post containing timing comparisons of Moq, Rhino Mocks, Isolator and NMock2.
And NMock2 – although still lacking some features – is very fast compared to the competitors. Woohoo!
I’m curious how the newly introduced features (mock classes, non-strict and recursive mocks) will change in this setup. I’ll check that out as soon as I find some time :-O
If you want to check the new features (alpha!) yourself then here is the svn URL: https://nmock2.svn.sourceforge.net/svnroot/nmock2/branches/nonstrictmocks
Happy mocking!
.NET, Announcement, Software, Testing
.NET, Isolator, mocking framework, Moq, NMock2, Rhino Mocks, unit testing
Often I get asked: Why should I write a test. What should I answer?
My preferred answer is: It’s an insurance to you.
At the time you have tests for your code, somebody else can do modifications on your code and you are sure it still does what it should. Otherwise your test will fail. (Well some people think: Why should somebody else modify my code? That’s impossible, this code is too complex, as it can be modified by somebody else… But this is another story.)
I also like the counterquestion: How can you assure me this code is working?

Testing
Testing