Skip to content
Snippets Groups Projects
Commit 94caf581 authored by Jan Wille's avatar Jan Wille
Browse files

section Testen

parent a477d414
No related branches found
No related tags found
No related merge requests found
......@@ -14,3 +14,4 @@ Binarisierungsschritte
Kernelgröße
Gemorphtes
pytesseract
Funktions-Dekorator
No preview for this file type
......@@ -282,6 +282,30 @@
\section{Automatisiertes Testen} \label{sec: testing}
Im Unterordner \lstinline{./tests} befindet sich Testcode für das Python-Modul \lstinline{pytest}. Dieser macht es sehr einfach, eine
Reihe an Testfällen zu definieren.
Dazu ist in der Datei \lstinline{tests/test_imagerecon.py} die Funktion \lstinline{test_knownimages()} implementiert. Für diese ist zuerst
eine Liste gültiger Codes global definiert. Dann werden über den Funktions-Dekorator \lstinline{@pytest.mark.parametrize} einzelne
Testfälle dekoriert. Dieser definiert eine Liste mit Bilddateien und dem darauf befindlichen Codes und testet dann, ob die
\lstinline{main()} mit diesen Parametern das erwartete Ergebnis liefert. Die Funktion kann also leicht an aktuelle Bilder angepasst
werden. Hier der entsprechende code:
\begin{lstlisting}[gobble=16]
valid_codes = ["SIE20220101", "FAT3264128"]
@pytest.mark.parametrize(
("path", "contained_codes"),
[
("tests/img/image1.png", ["FAT3264128"]),
("tests/img/image2.png", ["SIE20220101"]),
],
)
def test_knownimages(path, contained_codes):
assert contained_codes == main(path, valid_codes)
\end{lstlisting}
Um die Tests durchzuführen, kann direkt der Befehl \lstinline{pytest} oder das Makefilerezept \emph{test} verwendet werden.
\section{Debugging Optionen} \label{sec: debugging}
\section{Packaging} \label{sub: packaging}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment