Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# 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%)
```