有时候会遇到函数内调用了数次同一个子函数,每个子函数的结果都会影响函数的CV。
类似下面的结构:
cpp
U8 task_func (void)
{
U8 ret = 0;
do
{
ret = sub_func();
if (ret)
{
break;
}
ret = sub_func();
if (ret)
{
break;
}
ret = sub_func();
if (ret)
{
break;
}
} while (0);
return ret;
}
这个时候在TDE中的test case中,sub_func只会出现一次,这个时候如果在后面的输出框中只输入或者只选择一个值的话,会导致被解读为每一次sub_func都返回同一个值,导致后续的分支都执行不到,测试失败。

这里其实输入框中不止能填一个值,可以用如下格式填入,表示每一次调用返回不同值
cpp
{0, 0, 0} //每次调用都返回ok
{1, 0, 0} //第一次调用返回fail, 后续调用返回ok
{0, 1, 0} //第二次调用返回fail, 其他调用返回ok
{0, 0, 1} //第三次调用返回fail, 其他调用返回ok
这样就可以走到每一个分支。
