The Python Podcast.__init__

Automatically Generate Your Unit Tests From Scratch With Pynguin


Listen Later

Summary

Unit tests are an important tool to ensure the proper functioning of your application, but writing them can be a chore. Stephan Lukasczyk wants to reduce the monotony of the process for Python developers. As part of his PhD research he created the Pynguin project to automate the creation of unit tests. In this episode he explains the complexity involved in generating useful tests for a dynamic language, how he has designed Pynguin to address the challenges, and how you can start using it today for your own work.

Announcements
  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to pythonpodcast.com/linode and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show!
  • We’ve all been asked to help with an ad-hoc request for data by the sales and marketing team. Then it becomes a critical report that they need updated every week or every day. Then what do you do? Send a CSV via email? Write some Python scripts to automate it? But what about incremental sync, API quotas, error handling, and all of the other details that eat up your time? Today, there is a better way. With Census, just write SQL or plug in your dbt models and start syncing your cloud warehouse to SaaS applications like Salesforce, Marketo, Hubspot, and many more. Go to pythonpodcast.com/census today to get a free 14-day trial.
  • Are you bored with writing scripts to move data into SaaS tools like Salesforce, Marketo, or Facebook Ads? Hightouch is the easiest way to sync data into the platforms that your business teams rely on. The data you’re looking for is already in your data warehouse and BI tools. Connect your warehouse to Hightouch, paste a SQL query, and use their visual mapper to specify how data should appear in your SaaS systems. No more scripts, just SQL. Supercharge your business teams with customer data using Hightouch for Reverse ETL today. Get started for free at pythonpodcast.com/hightouch.
  • Your host as usual is Tobias Macey and today I’m interviewing Stephan Lukasczyk about Pynguin, the PYthoN General UnIt test geNerator
  • Interview
    • Introductions
    • How did you get introduced to Python?
    • Can you describe what Pynguin is and the story behind it?
    • What are the problems that Pynguin is designed to solve?
    • What other projects are you drawing inspiration from?
    • What are some of the use cases for automatic test generation?
    • How is Pynguin implemented?
      • What are the challenges that the dynamic nature of Python introduces?
      • What are some of the packages and libraries that have been most helpful while building Pynguin?
      • Can you talk through the workflow of using Pynguin to generate tests for a project?
        • What are some of the limitations on what kinds of projects Pynguin can be used for?
        • What are some design or implementation strategies in the code that you are generating tests for that will help make Pynguin’s job easier?
        • Once a test suite has been created, what are the next steps?
        • What are some of the initial assumptions or goals of the project that have been revised or challenged once you began implementing it?
        • What are the most interesting, innovative, or unexpected ways that you have seen Pynguin used?
        • What are the most interesting, unexpected, or challenging lessons that you have learned while working on Pynguin?
        • When is Pynguin the wrong choice?
        • What do you have planned for the future of Pynguin?
        • Keep In Touch
          • Related to Pynguin: best via GitHub
          • Find me on Twitter
          • Picks
            • Tobias
              • Concourse CI
              • Stephan
                • Cycling
                • Take care of your health
                • Closing Announcements
                  • Thank you for listening! Don’t forget to check out our other show, the Data Engineering Podcast for the latest on modern data management.
                  • Visit the site to subscribe to the show, sign up for the mailing list, and read the show notes.
                  • If you’ve learned something or tried out a project from the show then tell us about it! Email [email protected]) with your story.
                  • To help other people find the show please leave a review on iTunes and tell your friends and co-workers
                  • Join the community in the new Zulip chat workspace at pythonpodcast.com/chat
                  • Links
                    • Pynguin
                    • University of Passau
                    • Passau, Germany
                    • Evosuite
                    • Hypothesis
                      • Podcast Episode
                      • Astor
                      • Walrus Operator
                      • MyPy
                        • Podcast Episode
                        • Pytest
                          • Podcast Episode
                          • UnitTest
                          • Bytecode library
                          • Pytype
                          • Monkeytype
                            • Podcast Episode
                            • Atheris from Google – coverage-guided fuzzing
                            • Blog series about “Python behind the scenes”: Ten thousand meters by Victor Skvortsov
                            • The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

                              ...more
                              View all episodesView all episodes
                              Download on the App Store

                              The Python Podcast.__init__By Tobias Macey

                              • 4.4
                              • 4.4
                              • 4.4
                              • 4.4
                              • 4.4

                              4.4

                              100 ratings


                              More shows like The Python Podcast.__init__

                              View all
                              The Changelog: Software Development, Open Source by Changelog Media

                              The Changelog: Software Development, Open Source

                              283 Listeners

                              Data Skeptic by Kyle Polich

                              Data Skeptic

                              483 Listeners

                              Chat With Traders by Tessa Dao

                              Chat With Traders

                              1,979 Listeners

                              Talk Python To Me by Michael Kennedy

                              Talk Python To Me

                              592 Listeners

                              Software Engineering Daily by Software Engineering Daily

                              Software Engineering Daily

                              624 Listeners

                              The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence) by Sam Charrington

                              The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence)

                              444 Listeners

                              Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

                              Super Data Science: ML & AI Podcast with Jon Krohn

                              298 Listeners

                              Python Bytes by Michael Kennedy and Brian Okken

                              Python Bytes

                              213 Listeners

                              Data Engineering Podcast by Tobias Macey

                              Data Engineering Podcast

                              142 Listeners

                              Machine Learning Guide by OCDevel

                              Machine Learning Guide

                              764 Listeners

                              Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

                              Syntax - Tasty Web Development Treats

                              982 Listeners

                              DataFramed by DataCamp

                              DataFramed

                              266 Listeners

                              Practical AI by Practical AI LLC

                              Practical AI

                              190 Listeners

                              The Real Python Podcast by Real Python

                              The Real Python Podcast

                              140 Listeners

                              Hard Fork by The New York Times

                              Hard Fork

                              5,420 Listeners