J'ai décidé d'utiliser Python pour les entreprises et je voulais tester la sortie standard, donc comme mémo
pip install pytest
Je souhaite tester le programme ci-dessous.
Utilisez simplement la méthode say
pour afficher la sortie standard.
hogehoge.py
class HogeHoge:
def __init__(self, name):
self.name = name
def say(self):
print("Hello ! My name is " + self.name + ".")
Utilisez fixture, capfd dans pytest
test_hogehoge.py
from hogehoge import HogeHoge
def test_say(capfd):
instance = HogeHoge("Taro")
instance.say()
out, err = capfd.readouterr()
assert out == "Hello ! My name is Taro.\n"
assert err is ''
[Sun Nov 24 17:58:49 2019] Running: c:\python\python.exe -m pytest
============================== test session starts ===============================
platform win32 -- Python 3.7.2, pytest-5.3.0, py-1.8.0, pluggy-0.13.1
rootdir: D:\Document\repository\study_pytest
collected 1 item
test\test_hogehoge.py . [100%]
=============================== 1 passed in 0.08s ================================
Utilisez capfd
pour tester la sortie standard. Vous pouvez également obtenir des erreurs standard.
Recommended Posts