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"
модификатор линкера для вашей смоделированной функции, как я сделал здесь.