Mock (). Enable и disable не распознаются при компиляции проекта группы тестирования с помощью cpputest lib

Я пытаюсь скомпилировать свой проект группы тестирования, но у меня нет успеха после следующей ошибки компиляции, которую я не могу понять в выводе:

Консольный вывод:

"test_TestHW.c: In member function ‘virtual void TEST_TestHW_TestHW_main_Test::testBody()’:
test_TestHW.c:617:6: error: request for member ‘enable’ in ‘mock’, which is
of non-class type ‘MockSupport&(const SimpleString&, MockFailureReporter*)’
mock.enable();
^
test_TestHW.c:651:6: error: request for member ‘disable’ in ‘mock’, which is of non-class
type ‘MockSupport&(const SimpleString&, MockFailureReporter*)’
mock.disable();"

Часть кода проекта:

Тестовый код группы .c файл.

  /*******************************************************************************
*   INCLUDES
*******************************************************************************/

#include <CppUTest/CommandLineTestRunner.h>

#include <CppUTest/TestHarness.h>

#include <CppUTestExt/MockSupport.h>

extern "C"{
#include "RFID_Drv.h"#include "HAL_AS393x_mock.h"}

TEST_GROUP (TestHW)
{
protected:

public:
/* Define data accessible to test group members here */
void setup()
{
mock().disable();
}

void teardown()
{
/* Clean up steps are executed after each TEST */
mock().checkExpectations();
mock().clear();
}
};

TEST(TestHW,TestHW_main_FC_cuenta)
{

unsigned char error_val;

FLAG_Ocupado =0;
ControlEmi = 150;   /* Valor de frecuencia para probar */
mock.enable();
mock().expectOneCall("CapturaTimer").andReturnValue(1000);
error_val=TestHW();
CHECK_EQUAL(error_val,FCENTRAL_CUENTA)  /* Entra en el esatdo 2 */
CHECK_EQUAL(ControlEmi, 150);
mock.disable();
}

.......

//more test cases here

.......

int main(int ac, char** av)
{
/* Executes all the tests */
CommandLineTestRunner::RunAllTests(ac,av);

/* Returns value */
return(0);
}

Включает в файл mock.c:

 /*******************************************************************************
*  INCLUDES
*******************************************************************************/

#include <CppUTest/TestHarness.h>

#include <CppUTestExt/MockSupport.h>extern "C"{
#include "timer_mock.h"}

unsigned long CapturaTimer(void)
{
mock().actualCall("CapturaTimer");
return mock().unsignedIntReturnValue();
}

Кажется, что включение / отключение не рассматриваются и неизвестны cpputest. Я думаю, что это может быть глупо, что я пропустил. Но сейчас я не вижу, что именно.

Я знаю, что я тестирую функции C-источников в тестовом файле Cpp. Из-за этого я использовал extern c instance. Я удивлен, потому что dis / en не распознаются, но распознается Mock (). Hopeonecall (ошибки компиляции нет).

  • Следовательно, будет ли еще один способ включить / отключить макеты в настоящее время
    дело?
  • Может ли быть замечена какая-то ошибка в том, что касается cpputest?
    зависимости и т.д? и если это возможно, как их исправить?

2

Решение

Я нашел причину этой ошибки:
Я забыл «()» в:

 mock.enable();

Он должен быть заменен на:

 mock().enable();

Так что это компилируется.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]