Roy Osherove

View Original

Tools And Frameworks for Unit Testing in .NET for 2013

in “Art of Unit Testing 2nd Edition” I am now at work on the tools and frameworks appendix. It currently includes the following sections:

•    Isolation frameworks

  • Moq
  • Rhino Mocks
  • Typemock Isolator
  •  NMock ?
  • NUnit.Mocks
  • Microsoft Fakes / Moles
  • NSubstitute
  • FakeItEasy
  • Foq (for F#)

 


•    Test frameworks

•    NUnit
•   MbUnit  ?
•    Gallio ?
•    xUnit
•    Pex

  • Test Helpers and Assertion APIS
    • FluentAssertions
    • Shouldly
    • SharpTestEx
    • AutoFixure
  • Continuous Testing
    • Mighty Moose
    • NCrunch
    • Typemock Isolator Test Runner

•    Dependency injection and IoC containers

•  

Ioc Benchmark: http://www.palmmedia.de/Blog/2011/8/30/ioc-container-benchmark-performance-comparison


•    Database testing

•   DataRollback Attribute
•    Integration Testing with the DB


•    Web testing

•    Ivonna
•    Team System Web Test
•    NUnitAsp
•    Watir
•    WatiN
•    Selenium


•    UI testing

•    NUnitForms
•    Project White
•    Team System UI Tests


•    Thread-related testing

•   Typemock Racer
•    Microsoft CHESS
•    Osherove.ThreadTester


•    Acceptance testing
  • FitNesse
  • StoryTeller ?
  • Cucumber

BDD Styled Frameworks (used for unit level or acceptance testing)

  • specflow
  • specsharp
  • nspec
  • mSpec
  • TickSpec

Color Map:

  • Gray: Will be removed
  • GREEN: New
  • BLACK: Unchanged
  • ? : Not Sure

While I do have my own thoughts on which new tools, frameworks or sections can be added or removed from the old book, I would really like to hear from you what you think should be in these sections(or new sections), when talking about .NET, Java, C++