First you write the Test, then you make it pass, and finally you improve the code. Sounds simple, right? The endless loop of Test Driven Development has become one of the leading practices of modern agile developers. Yet it’s hard to explain its benefit until you give it a try.
In this day we going to cover the core principles of TDD and how you should use them to improve the code you write and maintain.
What will you learn? Get to know the basics of the TDD cycle; Practice writing effective unit tests for complex scenarios; Experience how TDD can improve your team’s ability to obtain and access fast feedback.
Lecturers: Lior Friedman & Uri Goldstein
Target Audience
- Tech Leads
- Developers
Prerequisites
- At least 1 year of experience developing software
Objectives
- Writing basic unit tests
- Learning principles of Test Driven Development
- Understanding the difference between different level of testing
- Testing complex object hierarchies
- Understand the difference between Interaction Testing and state based testing
- Understand the principles of Isolation
- Real Life examples
Topics
- Introduction to Automated Testing & TDD
- Unit Testing basics
- Making your unit test effective and robust
- Isolation over view
- Understanding a mocking framework
Structure
- Introduction to TDD
- Writing basic Unit Tests
- Defining a test suite and some test cases
- Assertion
- AAA pattern
- Naming Convention
- Test Organization
- Tip and tricks for Writing Effective unit tests
- Isolation + interaction based testing – overview
- Understanding the mocking framework
- Defining Mocks
- Creating Expectation
- Verifying interactions
Schedule
Unless otherwise stated, the workshop runs 1 day, 9:30 to 17:30.