-
Notifications
You must be signed in to change notification settings - Fork 132
Testing
gplssm edited this page May 10, 2016
·
10 revisions
Differentiate two types tests: unit tests and integration tests.
Unit tests
- Testen kleinst mögliche Einheiten innerhalb von oemof, z.B. Klassen und deren Schnittstellen
- laufen sehr schnell durch
- können vom Entwickler häufig angestoßen werden
Doc tests
- Beispiele in Docstrings erfüllen zwei Zwecke
- Dem Nutzer (Entwickler) ein Beispiel zu geben
- Werden bei Verwendung der option
--with-doctest
ausgeführt und mit dem Ergebnis was hinter>>>
steht verglichen
Integration tests
- Wenden exemplarisch Funktionalitäten von oemof an (z.b. oemof.solph)
- Test den Zusammenhang der Komponenteninteraktion
- Testet die generelle Lauffähigkeit eine Beispielapplikation
- Durch den automatischen Vergleich mit zuvor erzeugten Ergebnissen der Beispielanwendung wird sichergestellt, dass die inhaltliche Korrektheit gegeben ist
- Stellt sicher, dass alle Bereiche , die nicht durch unit tests abgedeckt sind, getestet werden
- Prüft den Programmteil hinsichtlich unterschiedlicher Interpretation übergebener Daten
- Abgrenzung von Integrationstest zu Systemtest?
- Welche sinnvollen unit tests sollte es in oemof geben?
- Sollen tests obligatorisch werden?
- Was bedeutet @classmethod?
Integration Tools
- Travis CI
- Führt automatisch alle definierten Tests durch, z.B. nosetests
- Testet bei jedem push und/oder PR. PR bedeutet, dass merge zu Abzweigungsbranch getestet wird
- App Veyor
- Coveralls
- Review Ninja