51Testing软件测试论坛

标题: 10期关于CPPUNIT 问题 [打印本页]

作者: kings727    时间: 2006-5-13 23:02
标题: 10期关于CPPUNIT 问题
我在老师给我们的CPP工程里准备在加一个测试套   等我调试好了以后却出现下面这种情况  我程序里只定义了2个套   问题是难看不说   而且统计也有问题  本来一共是19的用例  现在却显示20 个    老师帮我指点下   程序付后面  谢谢
这是mytest.cpp
#include "stdafx.h"

#include "MyTest.h"
#include "test.h"

// 把这个TestSuite注册到名字为"CounterTest"的工厂中
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( IsCodeLineTest,"CounterTest" );

CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( MainStatCommLine ,"CounterTest" );

#define RET_OK 0
#define RET_FAIL 1

void IsCodeLineTest::Test1()
{
     //定义输入参数
        int bIsComment;
        CString  szFileLine;

        //定义期望输出
        int iOkReturn;
        int iOkIsComment;

        //定义测试实际输出
        int iResult;
       
        CCounter m_counter;

        //用例输入
        szFileLine = "int a";
        bIsComment = false;

        //期望输出
        iOkReturn = RET_OK;
        iOkIsComment = false;

        //驱动被测函数
        iResult = m_counter.IsCodeLine(szFileLine,bIsComment);

        //结果比较
        CPPUNIT_ASSERT_EQUAL(iOkReturn,iResult);
             CPPUNIT_ASSERT_EQUAL(iOkIsComment,bIsComment);
}

                                                                                                      中间有16个用例我删掉了  太长了

void IsCodeLineTest::Test18()
{
     //定义输入参数
        int bIsComment;
        CString  szFileLine;

        //定义期望输出
        int iOkReturn;
        int iOkIsComment;

        //定义测试实际输出
        int iResult;
       
        CCounter m_counter;

        //用例输入
        szFileLine = "/*a+b+c;";
        bIsComment = false;

                //期望输出
        iOkReturn = RET_FAIL;
        iOkIsComment = true;

        //驱动被测函数
        iResult = m_counter.IsCodeLine(szFileLine,bIsComment);

        //结果比较
        CPPUNIT_ASSERT_EQUAL(iOkReturn,iResult);
        CPPUNIT_ASSERT_EQUAL(iOkIsComment,bIsComment);
}

CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(MainStatCommLine ,"CounterTest" );


void MainStatCommLine ::Test1()
{
     //定义输入参数
        //int  bIsComment;
        CString  szFileLine;


   CString szStatFileName;


        //定义期望输出
       

    int CodeLineNum;

        //定义测试实际输出
        //int iResult;
        CCounter m_counter;

    extern int        g_iCodeLineNum;

        //用例输入
        szFileLine = "e:/text.c";

        //期望输出
       
    CodeLineNum=1;

        //驱动被测函数
          //iResult = m_counter.IsCodeLine(szFileLine,bIsComment);
      m_counter.StatCodeLine(szStatFileName);

        //结果比较
        CPPUNIT_ASSERT_EQUAL(CodeLineNum,g_iCodeLineNum);
}

这个是mytest.h

#include "cppunit/extensions/HelperMacros.h"





class IsCodeLineTest : public CppUnit::TestFixture {

        // 声明一个TestSuite
        CPPUNIT_TEST_SUITE( IsCodeLineTest);
   
        // 添加测试用例到TestSuite, 定义新的测试用例需要在这儿声明一下
        CPPUNIT_TEST( Test1 );
    CPPUNIT_TEST( Test2 );
    CPPUNIT_TEST( Test3 );
    CPPUNIT_TEST( Test4 );
    CPPUNIT_TEST( Test5 );
    CPPUNIT_TEST( Test6 );
    CPPUNIT_TEST( Test7 );
    CPPUNIT_TEST( Test8 );
    CPPUNIT_TEST( Test9 );
    CPPUNIT_TEST( Test10 );
    CPPUNIT_TEST( Test11 );
    CPPUNIT_TEST( Test12 );
    CPPUNIT_TEST( Test13 );
    CPPUNIT_TEST( Test14 );
    CPPUNIT_TEST( Test15 );
        CPPUNIT_TEST( Test16 );
    CPPUNIT_TEST( Test17 );
    CPPUNIT_TEST( Test18 );
   
        // TestSuite声明完成
        CPPUNIT_TEST_SUITE_END();
       

public:
        // 定义测试用例
        void Test1 ();
    void Test2 ();
    void Test3 ();
    void Test4 ();
        void Test5 ();
    void Test6 ();
    void Test7 ();
    void Test8 ();
        void Test9 ();
    void Test10 ();
    void Test11 ();
    void Test12 ();
    void Test13 ();
    void Test14 ();
    void Test15 ();
    void Test16 ();
    void Test17 ();
    void Test18 ();
    void Test19 ();
   
  };

      class MainStatCommLine : public CppUnit::TestFixture {

           // 声明一个TestSuite
           CPPUNIT_TEST_SUITE(MainStatCommLine);
   
            // 添加测试用例到TestSuite, 定义新的测试用例需要在这儿声明一下

            CPPUNIT_TEST( Test1 );
   
           // TestSuite声明完成
            CPPUNIT_TEST_SUITE_END();
       

public:
           // 定义测试用例
           void Test1 ();
      
  };


Sample Text
作者: yjshen    时间: 2006-5-13 23:09
标题: 相关图片
相关图片
作者: kings727    时间: 2006-5-13 23:25
标题: 不好意思 我找到了
自己太粗心了
作者: arik    时间: 2006-5-20 21:25
也是自己问自己答啊??
不象
作者: kings727    时间: 2006-5-20 21:46
标题: 回答应广大同学的要求 我把错的地方给指出来
// 把这个TestSuite注册到名字为"CounterTest"的工厂中
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( IsCodeLineTest,"CounterTest" );


下面这局在这里定义了   在下面有定义了一次
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( MainStatCommLine ,"CounterTest" )


在这个地方


CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(MainStatCommLine ,"CounterTest" );


void MainStatCommLine ::Test1()
{
     //定义输入参数
        //int  bIsComment;
        CString  szFileLine;


   CString szStatFileName;
。。。。。。




所以说我比较粗心 大家  也要多努力   多试试   不要在出我这种问题了




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