Skip to content
Patrik Schönfeldt edited this page May 8, 2020 · 10 revisions

Types of 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

Validation tests

Integration Tools

Can be used for different purposes: project management, continuous integration, code coverage, bug identification

  • 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
  • siehe hier
  • App Veyor
  • suited for Windows dependencies?
  • Coveralls
  • Shows uncovered lines of code where bugs might by hiding
  • Wird bei PR angezeigt
  • Review Ninja
  • Approving mechanism for PR
  • Review team can be specified
  • Required ninja stars can be specified
  • Codcov
  • similar to Coveralls
  • Quantifiedcode
  • Codereview