[PYTHON] Pytest Aktueller Zeittest (festes Datum und Uhrzeit)

Test mit einer festen Zeit mit Pytest

Beachten Sie, dass ich auf eine Szene gestoßen bin, in der ich eine Methode testen wollte, die die aktuelle Zeit in Python zurückgibt Die Freezegun, mit der das Datum festgelegt werden kann, ist praktisch!

Umgebung

Für Pytest gibt es "Pytest-Freezegun" als Plug-In für Pytest. "@ Pytest.mark.freeze_time" wird als Marker für pytest hinzugefügt.

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)

Es ist in Ordnung zu importieren

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 ====

Ergänzung: Ich möchte vor 〇 Minuten testen

Wenn Sie mit 〇 Minuten vor (Minuten = update_span) der aktuellen Zeit herumspielen, ist auch 〇 Stunden oder 〇 Tage vor möglich

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

Pytest Aktueller Zeittest (festes Datum und Uhrzeit)
Extrahieren Sie "Nur aktuelles Datum" und "Aktuelles Datum und Uhrzeit" mit Python datetime.
Datum und Uhrzeit ⇔ Zeichenkette
Holen Sie sich das aktuelle Datum und die aktuelle Uhrzeit in Python unter Berücksichtigung des Zeitunterschieds
Verteilung und Test
Zur Darstellung von Datum, Uhrzeit, Uhrzeit und Sekunden in Python
Konvertieren Sie Datum und Uhrzeit in Zeitzonen in Unixtime in Python2.7
Python Aktuelle Zeit abrufen
[Python] Erstellen Sie eine Datums- und Zeitliste für einen bestimmten Zeitraum
Pandas-Grundlagen für Anfänger ④ Umgang mit Datums- und Zeitangaben