It's not possible to disable "argument is a fixture" behavior (pytest-bdd + unittest.mock)
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 28/100
Direzione di ricerca
Non sono indicati file di implementazione né test. Inizia riproducendo lo step di pytest-bdd mostrato con unittest.mock.patch, quindi esamina come vengono risolti come fixtures gli argomenti delle funzioni di step; il lavoro è completato quando il comportamento di compatibilità è supportato oppure la limitazione è documentata con un’alternativa chiara.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hi,
I'm trying to use pytest-bdd with unittest.mock - to be more precise - I have to patch a class (let's say 'MyClass') from a module_XXX in one of the steps. But the issues is that unittest.mock uses decorators to provide patched classes via method arguments. But pytest-bdd always considers arguments as fixtures and obviously cannot find them. Here is the code:
@then('it should call my class method_YYY')
@patch('module_XXX.MyClass')
def it_should_call_my_class_method_yyy(MyClassMock):
module_XXX.__init__("__main__")
assert MyClassMock.called
Is it possible to disable "argument is a fixture" pytest-bdd feature? Is pytest-bdd compatible with unittest.mock? It seems like, the documentation of pytest-bdd says nothing about such cases.
-Thanks
- Lingua principale
- Python
- Stelle
- 1.5k
- Fork
- 252
- Merge medio
- 2h 8m
- PR unite (30g)
- 5
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di pytest-dev/pytest-bdd
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
pytest-dev/pytest-bdd#838 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
pytest-dev/pytest-bdd#805 ·
-
YAML support removed in v8Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
pytest-dev/pytest-bdd#785 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
pytest-dev/pytest-bdd#784 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
pytest-dev/pytest-bdd#782 ·
Tutte le issue di pytest-dev/pytest-bdd
Issue simili
-
approved Good First Issue scope: docs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
hiero-ledger/hiero-sdk-python#2730 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
wemake-services/wemake-django-template#3178 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
md/asciidoc/csv: an explicit `encoding="utf-8"` keeps a leading BOM, the auto-detect path drops itAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
docling-project/docling#4846 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
neurostuff/NiMARE#1181 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
pytest-dev/pytest#15180 ·
I maintainer di solito rispondono entro 1 giorno