Many developers use unit tests to check that their software works as expected. Unit tests check small units of larger pieces of software, and ensure that the outputs match expectations. Testing frameworks make unit testing easier by providing set-up/tear-down services and coordinating the tests.
There are many unit testing frameworks available for C. For example, Unity is a pure C framework. People quite often use C++ testing frameworks to test C code; there are many C++ test frameworks too.
Test Harness:
TDD - Test Driven Development:
Test double mechanisms in C:
Note on C++ testing frameworks used in C: Using C++ frameworks for testing a C program is quite a common practice as explained here.