Karriere
Wissen
Über uns
19. Jul 2019
Was ist das? Wie werden diese aufgebaut und was muss man dabei beachten?
In unserem Cudos-Trail-Workshop haben wir uns intensiv mit Unit-Testing beschäftigt. Zu Beginn unseres Workshops ging es darum, den Begriff "Unit-Test" zu definieren und insbesondere von Tests abzugrenzen.
Ein Unit-Test wird auch Modultest genannt. In der Softwareentwicklung wird ein Unit-Test angewendet, um die funktionalen Einzelteile sprich Units oder Module von Computerprogrammen zu testen, d. h. sie auf korrekte Funktionalität zu prüfen.
Ein Unit Test ist kein Integrationstest und kein Systemtest.
Es gibt eine Vielzahl von Unit-Test Frameworks. Für C# werden am häufigsten folgende Frameworks verwendet:
Unit-Tests werden hierarchisch aufgebaut, wie folgt:
Dabei soll er immer aus folgenden Teilen bestehen:
In realen Fällen hat ein Device Under Test (DUT) häufig viele Abhängigkeiten zu anderen Teilen der Codebasis:
Da ein Unit Test genau eine Unit testen soll, sollten die Abhängigkeiten des DUT so weit als möglich/nötig durch Mocks ersetzt werden:
Ein Mock ist ein Platzhalter für ein reales Objekt. Häufig werden Mocks auch verwendet, um in einem Unit Test keine externen Ressourcen wie Netzwerk, Filesystem, Datenbanken, Umsysteme, etc. aufzurufen.
Mocks können einerseits von Hand geschrieben werden, andererseits existieren Mocking Frameworks, welche dem Software Ingenieur diese Arbeit erleichtern können.
Mocks dienen dazu eine zu testende Komponente von anderen Teilen des Source Codes zu isolieren. Zum Beispiel kann eine Datenbankanbindung mit einem Mock ersetzt werden, um einen Unit-Test auch dann ausführen zu können, wenn keine Datenbank vorhanden ist. Um nicht eine Vielzahl von Dummy-Implementierungen schreiben zu müssen, gibt es Mocking Frameworks, welche beim Erstellen von Mocks unterstützen können. Mocking Frameworks helfen also Teile vorzutäuschen (zu "mocken"), welche für einen Unit Test benötigt werden, aber nicht selbst getestet werden.
Zwei Mocking Frameworks Beispiele für C#, die wir im Workshop behandelt haben:
Danke für Ihr Interesse an Cudos. Ihre Angaben werden vertraulich behandelt – den Newsletter können Sie jederzeit abbestellen.