You have mentioned Rhino Mocks, NUnit and TestDriven. I would not compare these against one another. However you can compare each of these with its counterparts.
Here is a start! – I tried to include links for comparisons
Unit testing Frameworks
- NUnit
- MsTest
- MBUnit
- xUnit
NUnit vs. MbUnit vs. MSTest vs. xUnit.net
I slightly prefer NUnit, seems to be one of the most used, and it’s extremely easy to use. But I would not mind the others.
Style of testing
I guess this would effect my testing choice the most.
Unit testing can be done using AAA (Arrange Action Assert) or BDD (Behaviour Driven Development).
I find BDD is really helpful with Domain Driven Design, as it tests the uses stories and puts the domain as a subject under test.
For AAA you can just use the Unit Frameworks.
BDD Frameworks
Tdd vs Bdd (compare of the approach)
http://lostechies.com/seanchambers/2008/12/07/starting-with-bdd-vs-starting-with-tdd/
Mocks
Look for a syntax you like for setting up mocks. There are so many in the .NET space.
- Rhino Mocks
- Moq
- NMock
- TypeMock (use if you want to mock out concrete types, but not free)
https://stackoverflow.com/questions/37359/what-c-sharp-mocking-framework-to-use
VS plugins
Again, whatever makes you feel better
- TestDriven.NET
- ReSharper – I like this (use with PartCover)
- VS (test window)
Code Coverage
You did not mention this, however you have to be able to justify code which is written.
Edit
Testing Web Services
Database Testing
- Sqlite – if you are using an orm (NHibernate for example), as the sql can slightly change from your sql vendor
- NDbUnit – if your are using SP’s, ORM or hand cranked SQL
Hope this helps
solved Recommended unit testing tool to test web services, api calls and sql calls [closed]