Как реализовать CppUMock? - PullRequest
0 голосов
/ 04 июня 2019

Я пытался реализовать макетирование с моей 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, а не к макету. Единственный способ заставить это работать - в основном заглушить производственную функцию и создать новый заголовочный файл, который связывает пробную функцию с рабочим кодом.

Кажется, каждое место, куда я обратился, говорит, что оно должно работать, не заглушая функцию в рабочем коде.

...