facebook / facebook/TestSlide

Prevent patch_attribute from patching instance attributes at classes

Offen
#224 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement patch_attribute
Vorherrschende Sprache
Python
Sterne
149
Forks
62
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

This:

```python
import testslide

class A:
def __inti__(self):
self.attr = 1

class TestA(testslide.TestCase):
def test_attr(self):
self.patch_attribute(A, "attr", "mock")
```

yields:

```
AttributeError: type object 'A' has no attribute 'attr'
```

However, patching instance attributes at classes should not be allowed. `mock_callable` already [prevents](https://github.com/facebookincubator/TestSlide/blob/master/testslide/mock_callable.py#L601-L607) that.

Let's make patch_attribute refuse to patch instance attributes at classes as well.

Probably a good idea to reuse logic from `mock_callable` to define if "is this good to patch?".

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.