Provide a helper to copy args
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
Direzione di ricerca
Inizia dalla discussione dell’issue e dall’esempio unittest.mock collegato, quindi esamina il fixture mocker esistente e i suoi punti di ingresso patch() e new_callable. Chiarisci se il progetto debba fornire un helper CopyingMock, un fixture separato o entrambi, e definisci i test per l’API pubblica scelta e gli argomenti delle chiamate copiati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
mock will store references in call_args and call_args_list (see https://docs.python.org/3/library/unittest.mock-examples.html#coping-with-mutable-arguments).
I think that pytest-mock could provide a helper based on the example from the doc:
from copy import deepcopy
>>> class CopyingMock(MagicMock):
... def __call__(self, *args, **kwargs):
... args = deepcopy(args)
... kwargs = deepcopy(kwargs)
... return super(CopyingMock, self).__call__(*args, **kwargs)
The following works (by extending the pytest-mock mocker fixture).
@pytest.fixture
def mocker(mocker):
from copy import deepcopy
from mock import MagicMock
class CopyingMock(MagicMock):
def __call__(self, *args, **kwargs):
args = deepcopy(args)
kwargs = deepcopy(kwargs)
return super(CopyingMock, self).__call__(*args, **kwargs)
mocker.CopyingMock = CopyingMock
return mocker
patched = mocker.patch('foo.bar', new_callable=mocker.CopyingMock)
Not sure if that's helpful enough and/or if there could be a mocker_copy fixture instead, which would handle new_callable not only for patch().
- Lingua principale
- Python
- Stelle
- 2k
- Fork
- 181
- Merge medio
- 1g 16h
- PR unite (30g)
- 10
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-mock
-
Spy with async function not registering calls until coroutine is awaitedForse già presa @VedantBhayani l’ha presa 9 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
pytest-dev/pytest-mock#519 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
mocker.stub() is a coroutine functionForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertaquestion
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
pytest-dev/pytest-mock#375 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
question
Difficoltà 3/5 1-2 giorni Idoneità per principianti 38/100
pytest-dev/pytest-mock#374 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
pytest-dev/pytest-mock#150 · 7 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Make spy a context managerApertaenhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
pytest-dev/pytest-mock#118 · 5 commenti · 7 reazioni ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di pytest-dev/pytest-mock
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
sierra-research/tau2-bench#635 ·
I maintainer di solito rispondono entro 1 giorno
-
The add-ssm-model skill requires a Cython simulator; the contributing guide allows Python onesForse già presa @fmuia l’ha presa oggi. Apertadocumentation skill
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
lnccbrown/ssm-simulators#406 ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
btclib-org/btclib-ecc#309 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
jbacalso24/mimry#459 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug] POST /revoke with a FastMCP access token is a silent no-op (ownership gate never matches)Apertaauth bug high-priority
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno