# Testen in der Programmiersprache C ## Voraussetzungen ### Benötigte Software #### auf ihrem privaten Rechner - Installieren Sie das Build-Tool `ceedling` (http://www.throwtheswitch.org/ceedling) - installieren Sie Ruby (https://www.ruby-lang.org/en/downloads/) #### privat oder Labor clonen sie folgende Projekte von Github in einem Ordner parallel zu Ihren C-Projekten. > Zielstruktur: > > */Projekte > +- CMock > +- Unity > +- Projekt1 > +- Projekt2 > ... - *Unity* (Testing-Framework) https://github.com/ThrowTheSwitch/Unity - *CMock* https://github.com/ThrowTheSwitch/CMock - im Verzeichnis CMock dieses Kommando ausführen: `bundle install` ### Übungsprojekt - dieses Projekt in ein Verzeichnis parallel zu *Unity* und *CMock* clonen - Offnen Sie die Datei `src/test/c/test_berechnung.c` in einem Editor - Verwenden Sie das `TEST_ASSERT_EQUAL_STRING` Macro aus dem *Unity* Framework für folgende Testfälle für die Methode `convert()`: 1. 2 -> "2" 1. 3 -> "Fizz" 1. 5 -> "Buzz" 1. 11 -> "11" 1. 15 -> "FizzBuzz" 1. 12 -> "12" (schlägt fehl) - Verwenden Sie das `TEST_ASSERT_EQUAL_INT` Macro aus dem *Unity* Framework für folgende Testfälle für die Methode `gcd()`: 1. 15, 20 -> 5 1. 183, 99 -> 3 1. 91, 1008 -> 7 - Ergänzen Sie die *asserts* um eine Bechreibung mit dem Macro `TEST_ASSERT_EQUAL_INT_MESSAGE` bzw. `TEST_ASSERT_EQUAL_STRING_MESSAGE`