Writing “unit testable” code?

  • TDD — write the tests first, forces
    you to think about testability and
    helps write the code that is actually
    needed, not what you think you may
    need

  • Refactoring to interfaces — makes
    mocking easier

  • Public methods virtual if not using
    interfaces — makes mocking easier

  • Dependency injection — makes mocking
    easier

  • Smaller, more targeted methods —
    tests are more focused, easier to
    write

  • Avoidance of static classes

  • Avoid singletons, except where
    necessary

  • Avoid sealed classes

Leave a Comment