Im vorherigen Beitrag habe ich pytest in das Tag geschrieben, aber nur "Ich verwende pytest", es ist also ein Memorandum.
pip install pytest
pip install pytest-django
pip install pytest-pythonpath
Erstellen Sie anschließend eine Einstellungsdatei für pytest.
Erstellen Sie eine Datei mit dem Namen test_hoge.py
test_hoge.py
import pytest
@pytest.mark.django_db(transaction=True)
def test_hoge(self):
result = foo.get_money(id=1)
assert result == 100
Und
py.test test_hoge.py --create-db (oder--reuse-db)
Führen Sie den Test weiter aus. Wenn Sie anstelle eines Dateinamens ein Verzeichnis angeben, werden alle Tests in diesem Verzeichnis ausgeführt. Wenn Sie den Methodennamen "test_" verwenden, wird der Test nicht ausgeführt.
Dieses Setup () wird durchgeführt, bevor alle in der Testdatei beschriebenen Tests ausgeführt werden. Ich mache oft Benutzererstellung und Testvorbereitungsverarbeitung. setup()
def setup(self):
hoge()
teardown() Beschreibt den Prozess, der am Ende jedes Tests ausgeführt werden soll. Wenn Sie die Stammdaten durch die Testdaten in setup () ersetzen und testen, ist der Prozess zum Wiederherstellen enthalten.
def teardown():
foo()
pytest.raises(Exception) Es wird verwendet, um zu überprüfen, ob eine Ausnahme ordnungsgemäß aufgetreten ist. Wenn eine Ausnahme auftritt, gibt der Test ein normales Ergebnis zurück.
hoge.py
[Testziel]
class Hoge():
def foo(id):
try:
return ItemMaster.get(id)
except DoesNotExist:
raise IllegalIdError
test_hoge.py
import pytest
import IllegalIdError
@pytest.mark.django_db(transaction=True)
def test_foo():
with pytest.raises(IllegalIdError):
Hoge.foo(-100000)
Geben Sie die Bedingungen an, um den Test zu überspringen. Wenn es bei der Ausführung des Tests übersprungen wird, wird im Ergebnis "s" angezeigt, sodass leichter zu verstehen ist, dass "der Test nicht durchgeführt wurde", anstatt den Methodennamen "test_" zu verwenden und ihn nicht auszuführen.
test_hoge.py
@pytest.mark.skipif("True")
def test_hoge(self):
assert is_hoo(id=1)
↑ In diesem Fall wird es immer übersprungen.
Recommended Posts