In this course you will learn:
- Unit testing and TDD for Python projects.
- An overview of both unit testing and TDD, explaining why both are crucial for developers.
- How to set up your development environment for TDD and goes over the pytest unit-testing framework.
- Test cases that can help you gain a practical understanding of TTD in Python.
1. Overview of Test-Driven Development
- What is unit testing?
- What is test-driven development (TDD)?
- Example TDD session: The FizzBuzz Kata
2. Setting Up a Development Environment
- Python virtual environments
- Set up pytest in PyCharm
- Set up pytest in Eclipse PyDev
3. Pytest Overview
- Overview of pytest
- Test discovery
- An xunit-style setup and teardown
- Test fixtures
- Assert statements and exceptions
- Command line arguments: pytest
4. The Supermarket Checkout Kata
- Supermarket Checkout Kata overview
- Setup and first test case
- Add items, add items prices, and calculate current total
- Add multiple items and calculate total
- Add and apply discounts
- Throw exception when adding an item with no price
5. Test Doubles
- Test doubles, unittest.mock, and monkeypatch overview
- Example: unittest.mock
6. Test-Driven Development Best Practices
- TDD best practices