geron / flake8-patch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

License:MIT License


Languages

Language:Python 86.5%Language:Makefile 13.5%