Ever wonder why some projects seem able to make huge changes and still ship promptly, while others collapse under the weight of their own code? Testing is the difference! Effective tests enable you to add features quickly, refactor your code without fear, and ship new releases without big new bugs.
Tests are just a way of writing code that uses your project and makes sure that it really does what you think it does! We'll learn the best way to write tests and some common problems and pitfalls that you should avoid.
This course is designed as a practical reference for Python programmers who have real code that they would like to start testing, or test more effectively. I provide real runnable examples that you can type in yourself or download from the resources section.
The beginner section requires zero prior testing knowledge. I teach the fundamental basics of testing Python code including how to run your tests the "traditional" way as well as with the high-performance Green test runner. After completing this section, you will be able to write tests and run them.
The intermediate section teaches you how to write meaningful tests, and covers every aspect of the Python "unittest" module that you will use in daily life. Upon completing this section, you will know more than most Python programmers about how to test your code.
In the advanced section I go over how to mock unit tests, integration testing, advanced usage of the Green test runner, and some tips and tricks for getting the most out of your testing. Only an elite few gain this level of knowledge on their own. After completing this section, you will be a master of Python testing.