ljan 发表于 2005-12-27 20:11:13

请问如何来调用桩模块?

测试一个 函数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

//////////////////////////////////////////////
上面是我自己考虑的方法,也不知道是否合适
一直自己摸索过程中,请高手指点正确调用桩模块的方法。

ljan 发表于 2005-12-28 11:36:30

晕,光有人看,没人回啊
有人能给个你们平常调用桩模块的例子吗
页: [1]
查看完整版本: 请问如何来调用桩模块?