Program
W tym przypadku tworzymy projekt testowy bezpośrednio w Visual Studio.
Części kodów, które są potrzebne będą dodawane z osobnej lokalizacji zawierającej projekt układu. Biblioteki zewnętrzne można dodawać na dwa sposoby. Sposób pierwszy polega na podaniu pełnej ścieżki do pliku np:
- extern "C" {
- #include "C:\Users\Folder1\STMProject\src\testfile.c"
- }
Drugi sposób polega na dodaniu ścieżki do pliku w właściwościach projektu.
Po zdefiniowaniu ścieżki wystarczy dodać pozostałe elementy danych do pliku:
- extern "C" {
- #include "testfile.c"
- }
Opcja ze zdefiniowaną ścieżką jest znacznie lepsza, ponieważ w przypadku nie dodania jej w definicjach include mogą pojawić się błędy wynikające z niemożliwości znalezienia pliku, które są dodane wewnątrz testowanego pliku.
Teraz aby odłączyć elementy niezdefiniowane można korzystać z instrukcji define i odłączać niepotrzebne części kodu. Można też dołączać potrzebne biblioteki, co może zająć sporo czasu i może nie przynieść oczekiwanych rezultatów.
Teraz aby odłączyć elementy niezdefiniowane można korzystać z instrukcji define i odłączać niepotrzebne części kodu. Można też dołączać potrzebne biblioteki, co może zająć sporo czasu i może nie przynieść oczekiwanych rezultatów.
Użycie procedury define może wyglądać następująco:
- #ifndef UNIT_TEST
- ... części kodu nie kompilowane w testach
- #endif
Odłączane elementy będą najczęściej dotyczyć ustawień portów, konfiguracji sprzętowej, przesyłania danych itp.
Po tych ustawieniach procedury testowe wykonuje się bezpośrednio w programie Visual Studio.
Jako przykład wezmę funkcję wykonującą dodawanie, która została zdefiniowana w pliku w projekcie głównym:
- uint8_t addData(uint8_t data1, uint8_t data2)
- {
- return (data1 + data2);
- }
Wykonanie operacji testowania za pomocą Google Test wygląda następująco:
- TEST(AddDataFuncTest, AddData_Function) {
- uint8_t value = addData(2, 2);
- EXPECT_EQ(value, 4);
- }