Test de l'heure actuelle Pytest (date et heure fixes)

Tester avec une heure fixe avec Pytest

Notez que je suis tombé sur une scène où je voulais tester une méthode qui renvoie l'heure actuelle en Python Le freezegun qui peut fixer la date est pratique!

environnement

Pour pytest, il existe «pytest-freezegun» comme plug-in pour pytest. @ Pytest.mark.freeze_time est ajouté comme marqueur pour pytest.

test_sample.py


from datetime import datetime
import pytest

@pytest.mark.freeze_time('2019-11-27 11:23:23')
def test_time():
    assert datetime.today() == datetime(2019, 11, 27, 11, 23, 23)

Vous pouvez importer

get_today.py


def dateget():
    return datetime.datetime.today()

test_sample.py


from datetime import datetime
import pytest
import get_today

@pytest.mark.freeze_time('2019-11-27 11:23:23')
def test_time():
    assert get_today.dateget() == datetime(2019, 11, 27, 11, 23, 23)
$ python -m pytest test_sample.py

plugins: freezegun-0.3.0.post1
collected 1 item

test_sample.py .

==== 1 passed in 0.07 seconds ====

Supplément: je veux tester il y a 〇 minutes

Si vous jouez avec 〇 minutes avant (minutes = update_span) à partir de l'heure actuelle, 〇 heures ou 〇 jours est également possible

test_sample.py


@pytest.mark.freeze_time('2019-11-27 11:23:23')
def test_time():
    correct_value = datetime(2019, 11, 27, 11, 20, 23)
    subtracted_time = datetime.now() - timedelta(minutes=3)
    assert subtracted_time == datetime(2019, 11, 27, 11, 20, 23)

Recommended Posts

Test de l'heure actuelle Pytest (date et heure fixes)
Extraire "date actuelle uniquement" et "date et heure actuelles" avec python datetime.
Date et heure ⇔ chaîne de caractères
Obtenez la date et l'heure actuelles en Python, en tenant compte du décalage horaire
Distribution et test
Pour représenter la date, l'heure, l'heure et les secondes en Python
Convertir la date et l'heure zonées en temps Unixtime dans Python2.7
python Obtenir l'heure actuelle
[Python] Créer une liste de dates et d'heures pour une période spécifiée
Principes de base de Pandas pour les débutants ④ Gestion des éléments de date et d'heure