This book is a practical guide to making your Django project's tests faster. It has many tips and tricks that apply to all projects, big and small. And it covers the two most popular test runners: Django's test framework and pytest.
It's based on my experience speeding up various Django projects' test suites, improving Django's own testing framework, and creating pytest plugins.
Author(s): Adam Johnson
Publisher: Adam Johnson
Year: 2021
1. Introduction - Opening notes, how to use the book.
2. Toolbox - A tour of the various tools you can use to change how your tests run.
3. Measure! - The importance of profiling, with walkthroughs using two different profilers on a test suite.
4. Easy Wins - 11 things you can do in 5 minutes to speed up your test suite.
5. Upgrades - The importance of upgrades, and some how-to guidance to get them done easily.
6. Parallelize - How to use test suite parallelization to boost your tests.
7. Migrations - Reduce the overhead of building your test database.
8. Database Configuration - Tweak your database's configuration to get more speed.
9. CI Configuration - And tweak your CI configuration to boost test speed too.
10. Test Structure - Notes on the best structure for fast, accurate tests, and ways you can restructure.
11. Test Data - The best strategies for creating data in your tests.
12. Targeted Mocking - A guide to mocking, and the best libraries for mocking out specific things such as HTTP requests and time.
13. Outroduction - Closing notes with extra links.