我在这里使用Unity库获取自定义的测试框架,以为嵌入式系统的自动代码生成器创建自动测试生成器;
我还需要在消息中打印要测试的变量的名称 所以我得到了宏功能,例如: Unity.h
#define TEST_FAIL_MESSAGE(message) UNITY_TEST_FAIL(__LINE__,(message))
Unity_internals.h
#define UNITY_TEST_FAIL(line,message) UnityFail((message),(UNITY_LINE_TYPE)
Unity.c
void UnityFail(const char* msg,const UNITY_LINE_TYPE line)
{
RETURN_IF_FAIL_OR_IGNORE;
UnityTestResultsBegin(Unity.TestFile,line);
UnityPrint(UnityStrFail);
if (msg != NULL)
{
UNITY_OUTPUT_CHAR(':');
#ifndef UNITY_EXCLUDE_DetaILS'
if (Unity.CurrentDetail1)
{
UnityPrint(UnityStrDetail1Name);
UnityPrint(Unity.CurrentDetail1);
if (Unity.CurrentDetail2)
{
UnityPrint(UnityStrDetail2Name);
UnityPrint(Unity.CurrentDetail2);
}
//UnityPrint(UnityStrSpacer);
}
#endif
if (msg[0] != ' ')
{
UNITY_OUTPUT_CHAR(' ');
}
UnityPrint(msg);
}
UNITY_FAIL_AND_BAIL;
}
所以我有点困惑,如果有人以前已经这样做过, 任何棘手的想法都将是完美的!
谢谢!