mocker.patch nie mockuje funkcji

mocker.patch nie mockuje funkcji
TR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

Witam mam problem z zamockowaniem funkcji.
#app.py

Kopiuj
from time import sleep
def is_windows():
    sleep(5)
    return True

def get_operating_system():
        return 'Windows' if is_windows() else 'Linux'

#test_app.py

Kopiuj

from app import get_operating_system

def test_get_operating_system(mocker):
    mocker.patch('insert_to_tmp.is_windows', return_value=True)
    assert get_operating_system() == 'Windows'

Problem jest taki, że pomimo dodania mocker.patch testy nadal czekaja 5 sekund... A powinny trwać milisekundy

artur_waw
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 155
0

Plik app.py

Kopiuj
from time import sleep

def is_windows():
    sleep(30)
    return True

def get_operating_system():
        return 'Windows' if is_windows() else 'Linux'

Plik test.py:

Kopiuj
from app import get_operating_system

def test_get_operating_system(mocker):
    mocker.patch('app.is_windows', return_value=True)
    assert get_operating_system() == 'Windows'

Wywołanie pytest test.py: 1 passed in 0.01s

Patrząc na Twój kod to mockujesz funkcję insert_to_tmp.is_windows zamiast app.is_windows

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.