51Testing软件测试论坛

标题: 有关cppunit测试用例编写!急急..... [打印本页]

作者: gaoyy123    时间: 2007-4-21 10:16
标题: 有关cppunit测试用例编写!急急.....
sdlkfj9 各位好,我是一个测试新手,是用cppunit作一个简单函数的测试,这个是struct
{
   int num;/*格子当前处于什么状态,1有雷,0已经显示过数字或者空白格子*/
   int roundnum;/*统计格子周围有多少雷*/
   int flag;/*右键按下显示红旗的标志,0没有红旗标志,1有红旗标志*/
}Mine[10][10];
int MineStatistics(int i,int j)/*统计每个格子周围的雷数*/
{
   int nNUM=0;
   if(i==0&&j==0)/*左上角格子的统计*/
   {
      if(Mine[0][1].num==1)
  nNUM++;
      if(Mine[1][0].num==1)
  nNUM++;
      if(Mine[1][1].num==1)
  nNUM++;
   }
   else
      if(i==0&&j==9)/*右上角格子的统计*/
      {
  if(Mine[0][8].num==1)
     nNUM++;
  if(Mine[1][9].num==1)
     nNUM++;
  if(Mine[1][8].num==1)
     nNUM++;
      }
     else
  if(i==9&&j==0)/*左下角格子的统计*/
  {
     if(Mine[8][0].num==1)
        nNUM++;
     if(Mine[9][1].num==1)
        nNUM++;
     if(Mine[8][1].num==1)
        nNUM++;
  }
else
     if(i==9&&j==9)/*右下角格子的统计*/
     {
        if(Mine[9][8].num==1)
    nNUM++;
        if(Mine[8][9].num==1)
    nNUM++;
        if(Mine[8][8].num==1)
    nNUM++;
     }
     else if(j==0)/*左边第一列格子的统计*/
     {
        if(Mine[j+1].num==1)
    nNUM++;
        if(Mine[i+1][j].num==1)
    nNUM++;
        if(Mine[i-1][j].num==1)
    nNUM++;
        if(Mine[i-1][j+1].num==1)
    nNUM++;
        if(Mine[i+1][j+1].num==1)
    nNUM++;
     }
     else if(j==9)/*右边第一列格子的统计*/
     {
        if(Mine[j-1].num==1)
    nNUM++;
        if(Mine[i+1][j].num==1)
    nNUM++;
        if(Mine[i-1][j].num==1)
    nNUM++;
        if(Mine[i-1][j-1].num==1)
    nNUM++;
        if(Mine[i+1][j-1].num==1)
    nNUM++;
     }
     else if(i==0)/*第一行格子的统计*/
     {
        if(Mine[i+1][j].num==1)
    nNUM++;
        if(Mine[j-1].num==1)
    nNUM++;
        if(Mine[j+1].num==1)
    nNUM++;
        if(Mine[i+1][j-1].num==1)
    nNUM++;
        if(Mine[i+1][j+1].num==1)
    nNUM++;
      }
      else if(i==9)/*最后一行格子的统计*/
      {
        if(Mine[i-1][j].num==1)
    nNUM++;
        if(Mine[j-1].num==1)
    nNUM++;
        if(Mine[j+1].num==1)
    nNUM++;
        if(Mine[i-1][j-1].num==1)
    nNUM++;
        if(Mine[i-1][j+1].num==1)
    nNUM++;
     }
     else/*普通格子的统计*/
     {
        if(Mine[i-1][j].num==1)
    nNUM++;
        if(Mine[i-1][j+1].num==1)
    nNUM++;
        if(Mine[j+1].num==1)
    nNUM++;
        if(Mine[i+1][j+1].num==1)
    nNUM++;
        if(Mine[i+1][j].num==1)
    nNUM++;
        if(Mine[i+1][j-1].num==1)
    nNUM++;
        if(Mine[j-1].num==1)
    nNUM++;
        if(Mine[i-1][j-1].num==1)
    nNUM++;
      }
   return(nNUM);/*把格子周围一共有多少雷数的统计结果返回*/
};
很简单 我为这个函数设计了测试用例,叫void testMineStatistics();我为这个函数设计输入然后运行我的测试,但我不论怎么赋值,在我的执行程序中只显示一个测试用例,这是为什么呀.我的初衷是,对于这个函数赋不同的值,将得到不同的测试用例,但我不论怎么试都只能得到一个测试用例.
谁来帮我分析一下原因和解决办法,本人将不胜感激.
作者: cwj007    时间: 2007-4-24 15:08
跟进去看一下,这是程序调试




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