2. Before we start…
• Unit tests are “Code”
• Not efficient to test the UI
• Unit testing is not a testing activity.
3. 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
4. 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
6. 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
7. Continued…
• Inject dependencies and state via constructor
• Avoid classes coupled to many other classes
• Avoid classes coupled to concrete classes
rather than interfaces