Skip to content
Snippets Groups Projects
test-usage.md 2.28 KiB
Newer Older
  • Learn to ignore specific revisions
  • # 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%)
    ```