Skip to content
Snippets Groups Projects
test-usage.md 2.28 KiB
Newer Older
# Verwendung der automatisierten Tests
Die Implementation des Spielbretts kann recht einfach auf logische Fehler überprüft werden. Hierzu steht das Programm
`BoardTester` zur Verfügung, welches im Archiv [`FlowerWarsPP-Tester.jar`](../FlowerWarsPP-Tester.jar) zur 
Verfügung steht.

Eine kompilierte Spielbrettklasse kann wie folgt getestet werden:
```
java -cp PROJECT_CLASSPATH:FlowerWarsPP-Tester.jar BoardTester FULL_PATH_TO_BOARD_CLASS [PARAMETER]
```

## Parameter
Der Parameter `[PARAMETER]` ist optional. Wird er nicht gesetzt, werden final nur die bestandenen Tests gezählt.
Mögliche Optionen für diesen Parameter sind `mini` und `full`.

Bei `mini` werden alle fehlgeschlagenen Testfälle mit ihrem Namen aufgelistet.

Der Parameter `full` gibt vollständige Informationen über den fehlgeschlagenen Testfall inklusive vollem Stacktrace.

## Shell-Skript
Zur einfachen Verwendung steht ein kleines Shell-Skript namens [`run-tests.sh`](../example-implementation/run-tests.sh) zur Verfügung, welches in der [Beispielimplementation](../example-implementation)
zu finden ist. 

Das Skript kompiliert die Board Klasse automatisch und führt danach die Tests aus. Ein Aufruf dieses Skripts funktioniert wie folgt:
```
sh run-tests.sh FULL_PATH_TO_BOARD_CLASS [PARAMETER]
``` 

### Beispiel
Anhand einer einfachen [Beispielimplementation](../example-implementation) soll die Ausführung der Tests kurz gezeigt werden.

1. Kompiliere die Spielbrettklasse [`flowerwarspp.MyBoard`](../example-implementation/flowerwarspp/MyBoard.java)
```
javac flowerwarspp/MyBoard.java
```
2. Starte die Tests
```
java -cp .:FlowerWarsPP-Tester.jar BoardTester flowerwarspp.MyBoard
```
3. Das Ergebnis sieht wie folgt aus:
```
Starting tests...

..................................................
..................................................
..................................................
..................................................
..................................................
..................................................
..................................................
..................................................
..................................................
..................................................
.....

505 tests executed in 0.047 s
Success:    8 (  1.6%)
Failed:   497 ( 98.4%)
```