Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Pytest Course: Python Test Automation & GitHub Actions CI/CD
Rating: 4.7 out of 5(66 ratings)
424 students

Pytest Course: Python Test Automation & GitHub Actions CI/CD

Learn Pytest Framework: Python Automation Testing, Unit Testing, API Testing & Test Automation with GitHub Actions CI/CD
Created byArtem Istranin
Last updated 5/2026
English

What you'll learn

  • Learn Pytest framework for Python automation testing, from basic software testing to advanced level
  • Write unit, integration, and API tests in Python - from 0% to 100% test automation coverage
  • Implement CI/CD pipelines using GitHub Actions to run automated tests on every code change
  • Test-Driven Development (TDD), Fixtures, Mocking, Monkeypatch, Parameterize, FastAPI testing
  • Debug efficiently using Python software testing best practices with real-world examples

Course content

7 sections72 lectures11h 27m total length
  • Introduction2:58

    Learn pytest to catch issues early with quick, clear feedback while writing readable, maintainable tests for functions, classes, and APIs in real Python projects and in ci pipelines.

  • Course Roadmap3:16
  • Real World Example: New Scikit Feature20:46

    See a real-world PyTest example with a new min-max scaler feature lock scaling, and learn how automated tests reproduce and fix the bug in Python code.

  • Real World Example: Testing New Feature9:04

    Practice automated testing with pytest by creating a test to reproduce a log scaling bug in a minmax scaler, then verify the data range and fix the issue.

  • Why Testing: From Theory to Practice3:37
  • Virtual Environments & pytest Installation15:11
  • Pytest: Run & Debug12:40
  • Test Discovery3:41
  • Test Execution Status4:55
  • Hands-On Practice12:46
  • TDD and BDD: Testing Approaches18:45
  • Testing Approaches Quiz
  • Module 1 Summary1:54
  • Notes & Takeaways0:45

Requirements

  • Basic Python skills are required - if you can implement functions and classes, you’re good to go!
  • NO prior experience with pytest or any testing framework is required at all

Description

If you're a Python developer struggling with bugs, unstable code, or lack of confidence when deploying the solution is proper testing.

This course teaches you how to use pytest, the most powerful Python testing framework, to build reliable, scalable, and production-ready applications.

You’ll go beyond basic theory and learn real-world test automation in Python, including:

  • Writing unit tests and integration tests

  • Performing API testing using pytest

  • Applying Test-Driven Development (TDD)

  • Debugging and fixing bugs efficiently

  • Building CI/CD pipelines with GitHub Actions

Unlike generic courses, this course focuses on practical implementation, helping you apply testing in real development workflows.

By the end of this course, you will confidently:

  • Build scalable Python testing systems

  • Improve code quality and reliability

  • Automate testing processes

  • Integrate testing into modern DevOps pipelines

-

About this course

Most developers eventually reach the same point. The project grows. Features accumulate. Small changes start breaking unrelated parts of the system. You hesitate before refactoring. You rely on manual checks. You know you need tests, but you are not fully sure where to start or how to structure them properly.

This is exactly where python unit testing, integration testing, and the pytest framework become essential parts of modern python programming practices. With a solid test framework, developers can introduce reliable automation testing in python and avoid fragile manual checks.

Another problem that I see all the time when talking to dev teams is that Test-Driven Development (TDD) often feels impractical and too slow if used incorrectly. Legacy code is already in production. Thousands of lines of code have been written without tests, and testing every line of existing code is absolute overkill. You know you need some approach to take control of your code efficiently without falling into perfectionism.

This course shows how TDD (Test Driven Development) and modern python test automation techniques can be applied pragmatically in real projects without slowing down development. Whether you are searching for a complete pytest tutorial or a practical python testing course, this course is designed to help you build confidence with testing in real-world applications.

In this course, we focus on writing high-quality tests the right way, following modern python testing best practices without overthinking, and automating testing in CI/CD pipelines using GitHub Actions. This allows your automation testing pipeline to run on every commit, bringing the benefits of modern DevOps workflows and Python CI/CD testing into your Python projects.

This course is very practical. My goal is to give you a solid foundation in pytest, automation testing python, and all the important pytest framework features so you can use them with confidence in real python coding projects.

We will work with real examples, NOT just small toy code. You will practice Python API testing with pytest, unit testing and integration testing in realistic scenarios. We will test functions and classes, practice FastAPI testing with pytest, and test code with multiple dependencies. You will see how pytest fits different types of projects and how it helps you stay confident as your code becomes more complex.

-

Course Roadmap

This course is organized into six modules, each building on the previous one to guide you from basic software testing concepts to advanced python test automation and scalable automation testing with pytest, including full integration into CI/CD pipelines.

  • In "Module 1: Introduction" we cover the fundamentals of basic software testing, see practical examples and the benefits of test automation. We also discuss how to install pytest and write your first tests using the pytest framework. Then we move from theory to practice: understanding TDD (Test Driven Development) and BDD (Behavior-Driven Development) helps us understand why every Python project benefits from automated tests.

  • In "Module 2: Diving Deeper into pytest" we learn how to write tests effectively. You will write more tests for real-world examples and improve your python testing workflow. To do this, we need to better organize our tests inside a scalable test framework. We will also see how to avoid typical mistakes when starting with automation testing.

  • In "Module 3: Fixtures" we start diving deeper into pytest features. When you write more tests, repetitive setup patterns appear naturally. In this part we will learn how to create reusable fixtures for data, configuration, and environment setup. Understanding fixture scopes helps you build scalable test automation systems. We will practice FastAPI testing and see how it fits into python API testing workflows.

  • In "Module 4: Parametrization" we learn more about scalable automation testing. Writing one test that covers multiple inputs, edge cases, and scenarios is essential for efficient test automation. You will learn both basic and advanced parametrization patterns in pytest that improve clarity and maintainability.

  • In "Module 5: Advanced pytest" we dive deeper into advanced pytest framework features. Complex logic and unpredictable dependencies make writing tests challenging - and that’s where mocking becomes essential. You will also learn about markers, configuration files, code coverage, and the testing pyramid to build scalable automation testing strategies.

  • In "Module 6: CI/CD Automation" we focus on test automation at scale. You will learn how the CI/CD cycle works in Python projects and how to integrate pytest into an automated CI/CD pipeline using GitHub Actions. Every code change triggers automated tests, enabling reliable automation testing in modern development teams.

All these topics are taught in detail with the essential theory, but most importantly with many practical demos and real-world python coding examples.

After completing the course, you won’t "just know pytest" - you’ll be able to apply the pytest framework confidently in your daily work, implement python unit testing and integration testing, build scalable python test automation systems, and integrate automation testing into CI/CD pipelines for any Python project where clean, reliable, and maintainable code matters.

This course works both as a complete pytest tutorial and as a professional python testing course for developers who want to improve software quality with modern testing practices.

Who this course is for:

  • Python developers (junior to senior)
  • Backend engineers and API developers
  • Developers who want to learn pytest and automation testing
  • Engineers working with CI/CD pipelines
  • Anyone looking to improve code quality and reliability