51Testing软件测试论坛

标题: 请问如何来调用桩模块? [打印本页]

作者: ljan    时间: 2005-12-27 20:11
标题: 请问如何来调用桩模块?
测试一个 函数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
晕,光有人看,没人回啊
有人能给个你们平常调用桩模块的例子吗




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2