Я пытался реализовать макетирование с моей CppUTest Framework. Тестовая часть работает, утечка памяти работает, однако насмешка просто не будет работать, что бы я ни пытался.
Я импортировал
#include "CppUTestExt/MockSupport.h"
В моем тесте я добавляю эту строку
mock().expectOneCall("TestThisFunction").andReturnValue(564);
и в том же тестовом файле у меня есть
U16 TestThisFunction(void){
return (U16)mock().actualCall("TestThisFunction").returnIntValue();
}
U16 просто определен как это
typedef unsigned short U16;
При этом CppUTest переходит к функции в коде на C, а не к макету. Единственный способ заставить это работать - в основном заглушить производственную функцию и создать новый заголовочный файл, который связывает пробную функцию с рабочим кодом.
Кажется, каждое место, куда я обратился, говорит, что оно должно работать, не заглушая функцию в рабочем коде.