Most of my testing experience has been with MSTest, NUnit and Selenium and I feel this is an area I need to explore in more depth, so I thought I'd put the question to my colleagues and readers: What testing frameworks do you prefer and why? Below are a few lists of some .NET oriented frameworks with some notes on what sets each of them apart from others. I welcome comments confirming, challenging or correcting these notes as well as suggestions of others I may have missed.
Unit Testing
Acceptance Testing (web)
Tools
Mocking
Unit Testing
- MSUnit - Included with VS, Easy to implement
- NUnit - Most common third party framework
- xUnit - Extensible, lends itself to TDD/BDD
- MbUnit - RowTest for parameterized testing
Acceptance Testing (web)
Tools
- ReSharper - VS UI enhancements with xUnit integration
- TestDriven.net - VS testing add-in
- dotCover - Code coverage
Mocking
- NMock
- EasyMock.NET
- TypeMock Isolator - Paid, No strings for method names
- Rhino Mocks - Extremely popular
- Moq - Requires .NET 3.5
- NSubstitute - Cleaner with less code needed
- JustMock - Paid
- FakeItEasy - Simplifies fake vs. stub usage
- Microsoft Fakes - Included with VS2012, Previously Moles from MS Research, Includes features other frameworks only offer with paid versions