I am trying to implement TDD in C coding. I am building the program structure in a quite modularised way and using as atomic functions as possible. I make one test file (including several suits) for one module (module = header file + source file). I am struggling to make the program files "not know that they are being tested", in other words - I don't want testing parts of code in the proper program. Therefore almost often I need to include the source file in the test file in order to have access to the "private" variables and functions.
That was the intro, now the problem: if in a module I have an aaa()
function, which uses inside a bbb()
function, which uses some xxx()
function from an external module, I can easily test the bbb()
function in the atomic way by mocking the x()
function: #define bbb mock_bbb
and providing a mock xxx module for #include
. However, I am unable to find a way of atomic testing of the aaa()
function, which uses a function from the same module. Is it possible to do? (note, that apart of mocking bbb()
for aaa()
, I have to be also able to use the original bbb()
to test it)
My closest try was to use -Wl,-wrap,xxx
, but the problem is that I haven't found a way to automate this (wildcard or something?) - I will have almost 100 testing files, each containing several functions to test - I cannot allow myself to put manually every function in the makefile
.
Aucun commentaire:
Enregistrer un commentaire