[PYTHON] Testen Sie die Standardausgabe mit Pytest

Ich entschied mich für Python für geschäftliche Zwecke und wollte die Standardausgabe testen, also als Memo

Vorbereitung

pip install pytest

Zu testender Code

Ich möchte das folgende Programm testen. Verwenden Sie einfach die say -Methode, um auf die Standardausgabe auszugeben.

hogehoge.py


class HogeHoge:
  def __init__(self, name):
    self.name = name
  
  def say(self):
    print("Hello ! My name is " + self.name + ".")

Testcode

Verwenden Sie das Gerät capfd in 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 ================================ 

Zusammenfassung

Verwenden Sie capfd, um die Standardausgabe zu testen. Sie können auch Standardfehler erhalten.

Recommended Posts

Testen Sie die Standardausgabe mit Pytest
Testen Sie den Kolben mit einem Pytest
Unit Test Log Ausgabe mit Python
Kontrollieren von Testwiederholungen mit Luigi + pytest
Testgetriebenes Entwicklungsstart mit PySide & Pytest
UnicodeEncodeError hat Probleme mit der Standardausgabe von Python3
Geben Sie die Testfunktion docstring mit pytest-html in den Bericht ein
Mit Codetest stärken ⑦
PDF mit Django ausgeben
Mit Codetest stärken ⑨
Verwenden Sie Mock mit Pytest
Markdown-Ausgabe mit Django
Mit Codetest stärken ⑤
Mit Codetest stärken ④
Primzahlbeurteilung mit Python
PDF mit WeasyPrint ausgeben
Thema: Standardausgabe [Schwierigkeit ★★★★★]
Eingeschränktes Problem mit der Standardausgabe
Mit Codetest stärken ②
Mit Codetest stärken ①
Mit Codetest stärken ⑧
Zusammenfassung der Standardeingabe / -ausgabe
Mit Codetest stärken ⑨
Holen Sie sich die Standardausgabe in Echtzeit mit dem Python-Unterprozess
Ausgabeprotokoll im JSON-Format mit Python-Standardprotokollierung
Testen Sie eingebettete Software mit Google Test
Standardeingabe mit Zeitlimit
Probieren Sie die Python-Ausgabe mit Haxe 3.2 aus
[Django] Standard-Anmeldeformular testen [TDD]
Laden Sie den Test-Websocket mit Locust
Dekorateur zum Stummschalten der Standardausgabe
Konvertieren Sie in eine Zeichenfolge, während Sie die Standardausgabe mit dem Python-Unterprozess ausgeben
[Verständnis und Anwendung mit Syntax] Flexibles Umschalten des Python-Standardausgabeziels
Testgetriebene Entwicklung mit Django Teil 3
Testgetriebene Entwicklung mit Django Teil 4
Matrixdarstellung mit Python-Standardeingabe
Ausgabe in eine CSV-Datei mit Python
Eingabe / Ausgabe mit Python (Python-Lernnotiz ⑤)
Testgetriebene Entwicklung mit Django Teil 2
Schreiben Sie die Standardausgabe in eine Datei
Machen Sie die Standardausgabe in Python nicht blockierend
Anrufdiagramm mit PyCallGraph ausgeben
Beachten Sie den Python-Codierungsstandard PEP8
[Hinweis] Hallo Weltausgabe mit Python
Versuchen Sie, Audio mit M5 STACK auszugeben
RPC mit Standard-Python 3-Modulen
Testgetriebene Entwicklung mit Django Teil 1
NetzwerkX-Diagramm mit graphviz ausgeben (PyGraphviz)
Testgetriebene Entwicklung mit Django Teil 5
Einstellung, um den Inhalt der Bibliothek mit pytest einzugeben und einen Debug-Test durchzuführen