Что такое monkeypatch в pytest?

Middle
236 просмотров
AFK Offer AI

monkeypatch — встроенная pytest fixture для временной подмены атрибутов, переменных окружения, dict-ов. monkeypatch.setattr(obj, "method", mock_func) — заменить метод. monkeypatch.setenv("API_KEY", "test") — установить env var. monkeypatch.delattr/delenv — удалить. monkeypatch.setitem(dict, key, value) — изменить dict. Автоматический rollback после теста. Проще чем unittest.mock.patch для простых случаев. Для сложных — patch лучше (spec, autospec, assert_called). monkeypatch — pytest-native, patch — stdlib.

Следующий вопрос

Как работают permissions в DRF?