我正在编写单元测试,想知道如何使用 Cmockery 测试函数指针。
交流电
void (*FunctionPtr)(void) = &funcA;
void funcA()
{
// calls func B
funcB();
}
测试A.c
void Test_A( void ** state )
{
// test for FunA; working as expected
}
void Test_FunctionPtr( void** state )
{
// how to check here that FunctionPtr holds memory location of funcA?
// I tried something like below:
assert_memory_equal( FunctionPtr, funcA(), sizeof( funcA() ) );
}
在运行时我收到错误,我不知道如何解决这个问题。可能是我使用了错误的 API 来断言,但不知道该调用哪一个。
以下是我的错误:
error during runtime:
Test_FunctionPtr: Starting test
No entries for symbol funcB.