Episode 11: Advice on Getting Started With Testing in Python
The Real Python Podcast
May 29, 2020 58m
Have you wanted to get started with testing in Python? Maybe you feel a little nervous about diving in deeper than just confirming your code runs. What are the tools needed and what would be the next steps to level up your Python testing? This week on the show we have Anthony Shaw to discuss his article on this subject. Anthony is a member of the Real Python team and has written several articles for the site.
We discuss getting started with built-in Python features for testing and the advantages of a tool like pytest. Anthony talks about his plug-ins for pytest, and we touch on the next level of testing involving continuous integration.
Anthony recently finished a talk for PyCon 2020 Online, titled “Why is Python Slow?” He had the idea for the talk while he was working on his upcoming book about the CPython source code.
I also want to give an update on last weeks episode with Kyle Stratis, where we discussed Kyle being let go from his job due to the pandemic. Here’s some good news, Kyle will be joining a Boston startup called Vizit, as a senior data engineer. Congratulations Kyle!
Course Spotlight: The Python print()
Function: Go Beyond the Basics
This course will get you up to speed with using Python print()
effectively. Prepare for a deep dive as you go through the sections. You may be surprised how much print()
has to offer!
Topics:
- 00:00:00 – Introduction
- 00:01:46 – PyCon 2020 Online Talk - Why is Python slow?
- 00:04:05 – CPython Internals Book
- 00:07:08 – Attending Conferences
- 00:09:01 – Getting Started with Testing in Python
- 00:12:32 – Unittest
- 00:17:16 – What does a tool like pytest add?
- 00:19:53 – pytest plugins
- 00:21:03 – Anthony’s pytest plugins
- 00:21:58 – What does coverage mean?
- 00:25:23 – Test runners
- 00:27:12 – Testing environments with Tox
- 00:30:50 – Real Python Video Course Spotlight
- 00:31:49 – More on continuous integration (CI)
- 00:37:21 – Recent changes to GitHub
- 00:38:21 – PSF to move issue tracker to GitHub
- 00:41:01 – DRY (Don’t Repeat Yourself)
- 00:43:46 – Benefits of linters and code formatting
- 00:48:00 – What is a little known part of Python?
- 00:52:16 – What are you excited about in the world of Python?
- 00:56:06 – What is something you thought you knew about Python, but were wrong about it?
- 00:57:27 – Goodbye and thanks
Show links:
- Why is Python slow?: PyCon 2020 Online Talk
- Your Guide to the CPython Source Code: Real Python article
- TalkPython Podcast Episode #265: Why is Python slow?
- Getting Started With Testing in Python: Real Python article
- pytest: helps you write better programs
- pytest-azurepipelines: Plugin for pytest that makes it simple to work with Azure Pipelines
- Effective Python Testing With Pytest
- tox automation project: Command line driven CI frontend
- GitHub Actions: Automate your workflow from idea to production
- Continuous Integration With Python: An Introduction: Real Python article
- Brian K Okken - Multiply your Testing Effectiveness with Parameterized Testing: PyCon 2020 Online Talk
- Python Testing with pytest: Brian Okken - The Pragmatic Bookshelf
- Test & Code: Python Testing for Software Engineering: Podcast
- Python’s migration to GitHub
- Refactoring Python Applications for Simplicity: Real Python article
- Black: The uncompromising code formatter
- Wily: A command-line application for tracking, reporting on complexity of Python tests and applications
- PEP 554 – Multiple Interpreters in the Stdlib
- Python Insider: Python core development news and information