Cpputest: как скомпилировать и использовать waitNoCall?

Я написал синтаксис: mock().expectNoCall("productionCode") как говорит страница Cpputest.org. Но компилятор говорит, что класс mocksupport не поддерживает этот тип порядка.

test_RFID_Drv.c:322:9: error: ‘class MockSupport’ has no member named ‘expectNoCall’mock().expectNoCall("HAL_AS393x_ReadRegisters");

Как это можно использовать? Должен ли я включить некоторые файлы в заголовки? В настоящее время у меня есть те для насмешек:

/*! \include <CppUTest/CommandLineTestRunner.h> */
#include <CppUTest/CommandLineTestRunner.h>
/*! \include <CppUTest/TestHarness.h> */
#include <CppUTest/TestHarness.h> 
/*! \include <CppUTestExt/MockSupport.h> */
#include <CppUTestExt/MockSupport.h>

Дело в том, что я хочу игнорировать один конкретный системный вызов. Я не хочу проверять это.

1 ответ

Евгения, ты в файле.c, mock().expectXX это синтаксис для файлов.cpp.

Это рабочий пример отсутствия ожиданий в файле.cpp.

Если вам нужно использовать mock из.c файлов, включите "MockSupport_c.h" и убедитесь, что вы используете правильный синтаксис c, прочитайте заголовок здесь.

Если вы не хотите использовать синтаксис заголовка "_c", сделайте свой файл макетов в.cpp и добавьте export "C" модификатор линкера для вашей смоделированной функции, как я сделал здесь.

Другие вопросы по тегам