Skip to main content

A flake8 plugin checking for mocking issues.

Project description

flake8-patch

A flake8 plugin checking for mocking issues.

Currently reports the code PAT001 when assignments to imported objects are detected.

Bad code example

from some_module import SomeClass

def test_something():
    SomeClass.some_method = lambda: 42

This is bad because SomeClass.some_method might be used directly or indirectly in another test, which will break randomly depending on the execution order.

Good code example

from some_module import SomeClass

def test_something(mocker):
    mocker.patch.object(SomeClass, "some_method", return_value=42)

This uses the mocker fixture from pytest-mock to automatically unwind the patch after the test method runs.

Change Log

Unreleased

...

0.1.0 - 2020-10-02

Add PAT001: assignment to imported name

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flake8-patch-0.1.0.tar.gz (3.5 kB view hashes)

Uploaded Source

Built Distribution

flake8_patch-0.1.0-py3-none-any.whl (4.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page