pracuję jako programista i wolę używać CMocka narzędzie do zapewnienia test jednostkowy dla języka C. To proste narzędzie oparte na GTest (głównie testowanie jednostkowe C++) i jest naprawdę łatwe do zrozumienia. Jakiś czas temu zrobiłem badania na najlepsze i najprostsze narzędzie do testowania i zdecydowałem się na to.
Po pewnym czasie pracy z tym jestem naprawdę pewien. Przy użyciu dyrektywy preprocesora
#define MyFunction(iEntry) mock_MyFunction(iEntry)
można również odcięcie dowolną funkcję, którą chcesz symulować (nawet podstawowe funkcje, takie jak okna sizeof() malloc() i tak dalej).
Po wykonaniu tego kroku wystarczy tylko utworzyć fałszywe funkcje (mock_MyFunction (iEntry)), dołączyć je do projektu i zasymulować ich zachowanie. Preferowanym sposobem jest ustawienie pewnych wartości przed wywołaniem, które powinny zwrócić (will_return_always (mock_MyFunction, 5)). A kiedy ta funkcja zostanie wywołana, zawsze zwróci wartość 5.
Możesz także całkowicie uniknąć języka C++ i pracować z prostym językiem C. Nie należy pamiętać o prostej stronie indeksowej CMocka. Musisz zagłębić się w tę stronę i API narzędzia, aby znaleźć to, czego potrzebujesz .. :) Sprawdź także this za mały samouczek używania CMocka ...
Mam nadzieję, że to pomoże, miłego dnia ..:-)
Zobacz także to pytanie: http://stackoverflow.com/questions/65820/unit-testing-c-code. – MattK
To było pytanie, którego szukałem, ale poszukiwania tak naprawdę nie znajdowały. Dzięki! – Mitchell