Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
talit:python_testing [2024-03-04 14:26] hoftalit:python_testing [2024-03-04 14:38] (aktuell) – [Pytest] hof
Zeile 45: Zeile 45:
 #### Aufgabe A #### Aufgabe A
 Schreibe einen Test-Case für den rapportierten Fehler. Flicke anschliessend die `is_sorted` Funktion, bis alle Tests wieder durchlaufen. Schreibe einen Test-Case für den rapportierten Fehler. Flicke anschliessend die `is_sorted` Funktion, bis alle Tests wieder durchlaufen.
- 
 ### Pytest ### Pytest
 Um in grösseren Projekten nicht den Überblick zu verlieren, ist es Usus, ein Test-Framework zu verwenden, um alle Tests im Projekt auszuführen. Die beste Wahl für Python ist [[https://pytest.org/|pytest]]. Um in grösseren Projekten nicht den Überblick zu verlieren, ist es Usus, ein Test-Framework zu verwenden, um alle Tests im Projekt auszuführen. Die beste Wahl für Python ist [[https://pytest.org/|pytest]].
Zeile 51: Zeile 50:
 Installation: `python -m pip install pytest` Installation: `python -m pip install pytest`
  
-Pytest sucht überall im Ordner nach Dateien, die mit `test_` beginnen, und führt darin alle Funktionen aus, die mit dem gleichen Präfix `test_` anfangen aus.+Pytest sucht überall im Ordner nach Dateien, die mit `test_` beginnen, und führt darin alle Funktionen aus, die mit dem gleichen Präfix `test_` anfangen.
  
 Wir müssen dafür also unseren Test leicht verändern: Wir müssen dafür also unseren Test leicht verändern:
Zeile 67: Zeile 66:
 </code> </code>
  
 +Die Ausführung von `pytest` findet die Datei und die zwei Testfunktionen und fasst die Resultate zusammen:
 +
 +<code bash>
 +$ pytest
 +============================================= test session starts ==============================================
 +platform darwin -- Python 3.11.7, pytest-8.1.0, pluggy-1.4.0
 +rootdir: /Users/tom/git/ksr_talit_jupyter
 +collected 2 items                                                                                              
 +
 +test_sorted.py ..                                                                                        [100%]
 +
 +============================================== 2 passed in 0.00s ===============================================
 +</code>
 +
 +Pytest wird auch von VSCode unterstützt (ev. muss in der Sidebar die _Tests_-Ansicht geöffnet werden:
 +
 +{{:talit:python_testing:pasted:20240304-142840.png?nolink&300}}
 +
 +#### Aufgabe B
  
 +Ändere deinen Unit-Test, damit er von pytest gefunden wird, und führe die Tests im Terminal und auch in VSCode aus.
  
 ## Integration Tests ## Integration Tests
  • talit/python_testing.1709562374.txt.gz
  • Zuletzt geändert: 2024-03-04 14:26
  • von hof