Verified Commit df9380c2 authored by Daniel Mangold's avatar Daniel Mangold
Browse files

Updated readme and changelog

parent a75144a7
# Community Tests für die fünfte Hausübung der AuD 2021
**Änderung ab Version 2.0.0**: Die Tests sind ab Version 2.0.0 möglicherweise nicht zu 100% rückwärtskompatibel und sollten deswegen erneut heruntergeladen werden. Außerdem hängen sie von der Bibliothek JSON-java ab. Mehr dazu [hier](https://git.rwth-aachen.de/groups/aud-tests/-/wikis/JSON-Bibliothek). \
Einstellungen für die Tests wurden in die Datei [`Config.java`](src/test/java/h05/Config.java) ausgelagert. Dort findet sich auch die Dokumentation über die jeweiligen Konstanten.
<br>
Zum Ausführen der Tests sollte eine [eigene JUnit Run Configuration](https://git.rwth-aachen.de/groups/aud-tests/-/wikis/JUnit-Run-Configuration) angelegt werden, da durch den gradle task nicht alle Meldungen angezeigt werden (z.B. warum Tests ignoriert werden).
Da einige Methoden intern nach bestimmten Anforderungen aufgebaut sein müssen, aber man mit Black-box testing (worunter diese Tests fallen) dabei nur bedingt Aussagen über die Korrektheit treffen kann, weil die Ergebnisse identisch sind, wird bei manchen Tests nur geprüft, ob die jeweiligen Definitionen und Rückgaben korrekt sind. Ob das bei einem bestimmten Test der Fall ist, steht in den Beschreibungen der jeweiligen Methoden.
Mit * markierte Methoden testen, ob die jeweilige Klasse bzw. Interface korrekt definiert ist. Sie sind an sich keine Testmethoden und nur in Verbindung mit "richtigen" Tests, also mit `@Test` oder vergleichbar annotierten Methoden, brauchbar.
Die Tests haben einen Update-Mechanismus / Installer, der vor jeder Ausführung nach Updates sucht. Da das einige Sekunden in Anspruch nehmen kann und vielleicht auch anderweitig nicht gewünscht ist, kann diese Funktionalität ausgeschaltet werden. Wird diese Funktionalität verwendet, muss das Arbeitsverzeichnis gleich dem Projektordner sein. Das Verhalten kann mit Änderung der folgenden Konstanten in [`Utils.java`](src/test/java/h05/Utils.java) verändert werden:
Die Tests haben einen Update-Mechanismus / Installer, der vor jeder Ausführung nach Updates sucht. Da das einige Sekunden in Anspruch nehmen kann und vielleicht auch anderweitig nicht gewünscht ist, kann diese Funktionalität ausgeschaltet werden. Wird diese Funktionalität verwendet, muss das Arbeitsverzeichnis gleich dem Projektordner sein. Das Verhalten kann mit Änderung der folgenden Konstanten in [`Config.java`](src/test/java/h05/Config.java) verändert werden:
- `CHECK_FOR_UPDATES` <br>
Bestimmt, ob nach Updates gesucht wird. Ist diese Konstante `true`, dann wird bei jeder Ausführung der Tests nach Updates in diesem Repository gesucht und eine Meldung ausgegeben, sollten welche verfügbar sein. Ist sie `false` wird nicht nach Updates gesucht und andere Einstellungen werden ignoriert.
- `CHECK_HASHES` <br>
Gibt an, ob die MD5-Hashes der lokalen Tests mit denen im Repository abgeglichen werden sollen. Hat die Konstante den Wert `true`, dann werden die Hashes der Dateien in [`.test_version`](.test_version) mit den tatsächlichen verglichen und eine Meldung ausgegeben, sollten sie nicht übereinstimmen.
Gibt an, ob die MD5-Hashes der lokalen Tests mit denen im Repository abgeglichen werden sollen. Hat die Konstante den Wert `true`, dann werden die Hashes der Dateien in [`.test_metadata.json`](.test_metadata.json) mit den tatsächlichen verglichen und eine Meldung ausgegeben, sollten sie nicht übereinstimmen.
- `AUTO_UPDATE` <br>
Entscheidet, ob verfügbare Updates automatisch heruntergeladen werden sollen. Wenn aktiviert, werden Dateien, deren Hashes nicht übereinstimmen, erneut aus dem Repository heruntergeladen, wenn ein Update verfügbar ist. Diese Option ignoriert `CHECK_HASHES`, sollte die lokale Kopie der Tests veraltet sein. Da der Inhalt der Dateien überschrieben wird, werden lokale Änderungen an den Tests verloren gehen!
Entscheidet, ob verfügbare Updates automatisch heruntergeladen werden sollen. Wenn aktiviert, werden Dateien, deren Hashes nicht übereinstimmen, erneut aus dem Repository heruntergeladen, wenn ein Update verfügbar ist. Diese Option ignoriert `CHECK_HASHES`, sollte die lokale Kopie der Tests veraltet sein. Da der Inhalt der Dateien überschrieben wird, werden lokale Änderungen an den Tests verloren gehen (gilt standardmäßig nicht für `Config.java`)!
Standardmäßig sind alle Optionen aktiviert.
......
### Version 2.0.0
Changed format for metadata (Hashes, default configurations, etc.) to JSON \
Switched from major/minor version to Semantic Versioning \
Moved configurations to [`Config.java`](src/test/java/h05/Config.java) \
Made [`Assertions.java`](src/test/java/h05/Assertions.java) a subclass of JUnit's Assertions class
### Version 1.1
Fixed parentheses generation and tests (missing `\n` at the end) \
Fixed link to changelog
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment