Python Test/The Complete pytest Course - original layout

  • $59

The Complete pytest Course - original layout

  • Course
  • 163 Lessons
  • Includes 3 additional products

Alternative layout to "The Complete pytest Course Bundle"

Contents

Intro and Source Code

Welcome + Introduction
  • 6 mins
  • 226 MB
Preview
Source Code
  • 169 KB

Part 1: Primary Power

Part 1: Primary Power
    Part 1: Primary Power

      Ch 1: Getting Started with pytest

      Intro
      • 1 min
      • 2 MB
      Installing pytest
      • 4 mins
      • 21.7 MB
      Our first tests
      • 1 min
      • 5.87 MB
      Running pytest
      • 6 mins
      • 60.4 MB
      Test discovery
      • 3 mins
      • 21 MB
      Test outcomes
      • 5 mins
      • 45.6 MB

      Ch 2: Writing Test Function

      Intro
      • 1 min
      • 3.49 MB
      Installing cards
      • 4 mins
      • 28.4 MB
      Playing with cards
      • 4 mins
      • 18.2 MB
      The cards.Card dataclass
      • 5 mins
      • 46.6 MB
      Writing Knowledge-Building Tests
      • 5 mins
      • 72.8 MB
      Running Tests
      • 2 mins
      • 22.7 MB
      Check Your Setup
      • 3 mins
      • 28.5 MB
      Bonus: Running Tests in PyCharm
      • 3 mins
      • 34.9 MB
      Using assert Statements
      • 7 mins
      • 78.8 MB
      Failing with pytest.fail() and exceptions
      • 4 mins
      • 33.2 MB
      Writing Assertion Helper Functions
      • 3 mins
      • 40 MB
      Testing for Expected Exceptions
      • 6 mins
      • 71.9 MB
      Structuring Test Functions
      • 3 mins
      • 36.3 MB
      Grouping Tests with Classes
      • 7 mins
      • 97.8 MB
      Running a Subset of Tests
      • 6 mins
      • 112 MB
      Bonus: Virtual Environment functions create/activate/exit for bash/zsh
      • 6 mins
      • 53.3 MB

      Ch 3: pytest Fixtures

      Intro
      • 2 mins
      • 4.62 MB
      Visualizing Fixtures
      • 4 mins
      • 15.8 MB
      Testing the cards API
      • 3 mins
      • 22.2 MB
      Using Fixtures for Setup and Teardown
      • 6 mins
      • 62.8 MB
      Tracing Fixture Execution with --setup-show and -s
      • 2 mins
      • 14.7 MB
      Seeing print output with -s
      • 4 mins
      • 39.8 MB
      Specifying Fixture Scope
      • 5 mins
      • 41.4 MB
      Sharing Fixtures through conftest.py
      • 3 mins
      • 25.7 MB
      Finding Where Fixtures are Defined
      • 4 mins
      • 40.1 MB
      Intermission 1
      • 2 mins
      • 10.8 MB
      Using Multiple Fixture Levels
      • 6 mins
      • 65.9 MB
      Using Multiple Fixtures per Test
      • 6 mins
      • 63.1 MB
      Intermission 2
      • 1 min
      • 2.71 MB
      Deciding Fixture Scope Dynamically
      • 4 mins
      • 46.5 MB
      Using autouse Fixtures
      • 4 mins
      • 40.2 MB
      Renaming Fixtures
      • 3 mins
      • 16.7 MB

      Ch 4: Builtin Fixtures

      Intro
      • 2 mins
      • 27.9 MB
      Using tmp_path and tmp_path_factory
      • 9 mins
      • 100 MB
      Using capsys
      • 5 mins
      • 39.4 MB
      Output capture with Typer
      • 3 mins
      • 27 MB
      Disabling output capture with capsys
      • 3 mins
      • 31.6 MB
      The problem with a live db
      • 3 mins
      • 32.7 MB
      Looking at monkeypatch docs
      • 2 mins
      • 16.9 MB
      Cards internals
      • 2 mins
      • 24.3 MB
      Patching get_path
      • 3 mins
      • 34.5 MB
      Patching pathlib.Path.home
      • 4 mins
      • 55.8 MB
      Patching an environment variable
      • 1 min
      • 9.95 MB
      Design for Testability
      • 2 mins
      • 26 MB

      Ch 5: Parametrization

      Intro
      • 1 min
      • 1.61 MB
      Running "cards finish" on the Command Line
      • 2 mins
      • 7.91 MB
      Looking at the "finish()" API Function
      • 1 min
      • 7.95 MB
      Testing Without Parametrize
      • 4 mins
      • 49 MB
      Combining Tests with a Loop
      • 2 mins
      • 18.6 MB
      Parametrizing Functions
      • 4 mins
      • 43.1 MB
      Only Parametrizing Meaningful Changes
      • 3 mins
      • 24.5 MB
      Parametrizing Fixtures
      • 4 mins
      • 46.7 MB
      What is a Hook Function
      • 2 mins
      • 20.2 MB
      Parametrizing with pytest_generate_tests
      • 5 mins
      • 42.9 MB
      Using Keywords to Select Test Cases
      • 3 mins
      • 49.9 MB

      Ch 6: Markers

      Intro
      • 1 min
      • 3.08 MB
      Skipping Tests with pytst.mark.skip
      • 4 mins
      • 53.1 MB
      Skipping Tests Conditionally with pytst.mark.skipif
      • 5 mins
      • 40.4 MB
      Expecting Tests to Fail with pytest.mark.xfail
      • 9 mins
      • 109 MB
      Bad Reasons to Use xfail
      • 2 mins
      • 12.7 MB
      Selecting Tests with Custom Markers
      • 6 mins
      • 63.9 MB
      Marking Files, Classes, and Parameters
      • 4 mins
      • 48.7 MB
      Running marked tests with -m
      • 2 mins
      • 20.1 MB
      Using and, or, not, and Parentheses with Markers and -m
      • 3 mins
      • 25.3 MB
      Being Strict with Markers
      • 3 mins
      • 37.1 MB
      Listing Markers with --markers
      • 2 mins
      • 22.4 MB
      Combining Markers with Fixtures
      • 9 mins
      • 104 MB

      Part 2: Working with Projects

      Part 2: Working with Projcts
      • 2.1 MB
      Preview

      Ch 7: Test Strategy

      Intro
      • 1 min
      • 3.28 MB
      Determining Test Scope
      • 2 mins
      • 7.12 MB
      Considering Software Architecture
      • 1 min
      • 2.97 MB
      Evaluating the Features to Test
      • 2 mins
      • 5.14 MB
      Creating Test Cases
      • 1 min
      • 3.82 MB
      Writing a Test Strategy
      • 2 mins
      • 8.16 MB
      Cards Example: Scope, Architecture, and Prioritizing Features
      • 4 mins
      • 24.3 MB
      Cards Example: Creating Test Cases
      • 5 mins
      • 20.8 MB
      Cards Example: Writing a Test Strategy
      • 1 min
      • 7.79 MB
      Cards Example: From Test Cases to Test Code
      • 5 mins
      • 63.6 MB
      Cards Example: Running the Tests
      • 1 min
      • 16.5 MB

      Ch 8: Configuration Files

      Intro
      • 3 mins
      • 10 MB
      Determining a Root Directory
      • 2 mins
      • 23.9 MB
      Saving Settings and Flags in pytest.ini
      • 6 mins
      • 55 MB
      Using tox.ini, pyproject.toml, or setup.cfg in place of pytest.ini
      • 5 mins
      • 41.3 MB
      Avoiding Test File Name Collision with __init__.py
      • 6 mins
      • 47.9 MB

      Ch 9: Coverage

      Intro
      • 2 mins
      • 9.93 MB
      Measuring Code Coverage with `pytest-cov`
      • 4 mins
      • 30.9 MB
      Measuring Code Coverage with `coverage` Directly
      • 3 mins
      • 21.1 MB
      Specifying Multiple Equivalent Source Paths in `.coveragerc`
      • 2 mins
      • 16 MB
      Generating HTML Reports
      • 7 mins
      • 85.7 MB
      Excluding Code from Coverage
      • 2 mins
      • 29 MB
      Adding the Missing Test Cases
      • 3 mins
      • 43.3 MB
      Beware of Coverage-Driven Development
      • 3 mins
      • 33.1 MB
      Running Coverage on Tests
      • 3 mins
      • 34 MB
      Running Coverage on a Directory
      • 3 mins
      • 18 MB
      Running Coverage on a Single File Script
      • 4 mins
      • 37.3 MB

      Ch 10: Mocking

      Intro
      • 3 mins
      • 7.62 MB
      What Are We Mocking? Isolating the Cards CLI
      • 5 mins
      • 45.6 MB
      Testing with Typer + shlex + cards_cli
      • 6 mins
      • 54.5 MB
      Mocking an Attribute
      • 5 mins
      • 44.8 MB
      Mocking a Class and Methods
      • 7 mins
      • 89.6 MB
      Using a Fixture for Mocking
      • 3 mins
      • 32.2 MB
      Using autospec to Keep Mocks and API Synchronized
      • 4 mins
      • 54.3 MB
      Making Sure Functions Are Called Correctly
      • 4 mins
      • 47.4 MB
      Creating Error Conditions
      • 3 mins
      • 34.9 MB
      Running Coverage + Coverage Exclusion
      • 5 mins
      • 52.9 MB
      Read the Docs
      • 1 min
      • 9.56 MB
      Mocks Don't Test Behavior
      • 2 mins
      • 7.61 MB
      Testing at Multiple Layers to Avoid Mocking
      • 5 mins
      • 63.2 MB
      Using Plugins to Assist Mocking
      • 2 mins
      • 4.11 MB

      Ch 11: tox and Continuous Integration

      Intro
      • 2 mins
      • 9.93 MB
      Setting Up tox
      • 7 mins
      • 62.3 MB
      Running tox
      • 3 mins
      • 44.9 MB
      Testing Multiple Python Versions
      • 3 mins
      • 55.4 MB
      Running tox Environments in Parallel
      • 1 min
      • 12.5 MB
      Adding a Coverage Report to tox
      • 2 mins
      • 21.8 MB
      Specifying a Minimum Coverage Level
      • 2 mins
      • 13.5 MB
      Passing pytest Parameters Through tox
      • 2 mins
      • 14.8 MB
      Combining pytest.ini and .coveragerc into tox.ini
      • 3 mins
      • 27.8 MB
      CI: Running tox with GitHub Actions
      • 7 mins
      • 75.8 MB

      Ch 12: Testing Scripts and Applications

      Intro
      • 2 mins
      • 8.86 MB
      Testing a Python Script
      • 9 mins
      • 63.7 MB
      Testing an Importable Python Script
      • 5 mins
      • 45.5 MB
      Separating Code into src and tests Directories
      • 3 mins
      • 26.7 MB
      Testing a requirements.txt-based Application
      • 6 mins
      • 36.6 MB

      Ch 13: Debugging Test Failures

      Intro
      • 3 mins
      • 10.6 MB
      Setup
      • 5 mins
      • 48.1 MB
      Writing Tests First
      • 7 mins
      • 96.5 MB
      First Draft Implementation
      • 4 mins
      • 57 MB
      Debugging with pytest Flags
      • 5 mins
      • 87.6 MB
      Debugging with pdb
      • 3 mins
      • 41.9 MB
      Combining tox and pdb
      • 3 mins
      • 43.2 MB
      Refactoring
      • 5 mins
      • 70.9 MB
      Note on Code Sample
      • 1 min
      • 8.96 MB

      Part 3: Booster Rockets

      Part 3: Booster Rockets

        Ch 14: Third-Party Plugins

        Exploring the Diversity of pytest Plugins
        • 5 mins
        • 19 MB
        Finding Plugins
        • 3 mins
        • 33.8 MB
        pytest-repeat: Repeating Tests
        • 4 mins
        • 67.9 MB
        pytest-xdist: Running Tests in Parallel
        • 4 mins
        • 37.2 MB
        pytest-randomly: Randomizing Test Order
        • 5 mins
        • 71.1 MB

        Ch 15: Building Plugins

        Intro
        • 2 mins
        • 14.3 MB
        Building a Local conftest Plugin
        • 3 mins
        • 26.3 MB
        Creating an Installable Plugin
        • 16 mins
        • 177 MB
        Testing Plugins with pytester
        • 8 mins
        • 91.8 MB
        Testing Multiple Python Versions with tox
        • 4 mins
        • 53.1 MB
        Using a src Project Layout
        • 3 mins
        • 26.1 MB
        Publishing Plugins and Further Information
        • 2 mins
        • 24.2 MB

        Ch 16: Advanced Parametrization

        Intro
        • 2 mins
        • 7.22 MB
        Creating Custom Identifiers
        • 9 mins
        • 100 MB
        Parametrizing with Dynamic Values
        • 3 mins
        • 27.9 MB
        Using Multiple Parameters
        • 4 mins
        • 41.5 MB
        Using Indirect Parametrization
        • 4 mins
        • 32.2 MB
        Selecting a Subset of Fixture Parameters
        • 2 mins
        • 13.5 MB
        Creating an Optional Indirect Fixture
        • 3 mins
        • 19.9 MB