请问如何来调用桩模块?
测试一个 函数fun// a.c
void fun(void)
{
int XXX;
...;
if(bGetValue(XXX))
{
Printf("1");
}
else
{
Printf("0");
}
}
// b.c
BOOL bGetValue(int iValue)
{
...;
}
那么编写桩模块简单如下:
BOOL bSimGetValue(int iValue) {return TRUE}
请问如何来调用这个桩模块? 不希望过多的改动到fun的代码?
方法1:
#define TEST_MACRO 1
通过打开或关闭TEST_MACRO,来build test code或release code
修改fun()函数如下:
void fun(void)
{
int XXX;
...;
#if TEST_MACRO
if(bSimGetValue(XXX))
#else
if(bGetValue(XXX))
#endif
{
Printf("1");
}
else
{
Printf("0");
}
}
方法2:
修改b.c中bGetValue的代码
#if TEST_MACRO
BOOL bGetValue(int iValue)
{
return bSimGetValue(XXX);
}
#else
BOOL bGetValue(int iValue)
{
...;
}
#endif
//////////////////////////////////////////////
上面是我自己考虑的方法,也不知道是否合适
一直自己摸索过程中,请高手指点正确调用桩模块的方法。 晕,光有人看,没人回啊
有人能给个你们平常调用桩模块的例子吗
页:
[1]