Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Unit Testing

Unit Testing

Introduction to Unit testing with NUnit and Rhino mocks

Prashant Cholachagudda

September 09, 2011
Tweet

More Decks by Prashant Cholachagudda

Other Decks in Programming

Transcript

  1. Before we start… • Unit tests are “Code” • Not

    efficient to test the UI • Unit testing is not a testing activity.
  2. Why unit testing? • Acts as specifications for your code

    / business requirements • Helps to produce better code (Readable / Maintainable) • Make you think before you write any code
  3. It’s good unit test, if… • One Unit Test Class

    per “Class” • Each test should run in isolation • Test should be clear • Single outcome per test • Name Tests from Users Perspective – Long test method names. – Conventions
  4. Recommendations • Use Mocking frameworks • Mark classes and Interfaces

    as internal • When refactoring think of architecture • Consider splitting class into multiple files • Avoid using Static classes/Methods • UI Containing non-user logic
  5. Continued… • Inject dependencies and state via constructor • Avoid

    classes coupled to many other classes • Avoid classes coupled to concrete classes rather than interfaces
  6. References • Rhino Mocks – http://www.ayende.com/Wiki/Rhino+Mocks+3.5. ashx#WhatsNewinRhinoMocksDF • Nunit –

    http://www.nunit.org • Mocks Aren't Stubs (Martin Fowler) – http://martinfowler.com/articles/mocksArentStub s.html