C/C++单元测试工具Visual Unit 4在线帮助


用例代码编辑器

    VU4已实现彻底的表格驱动,需要使用用例代码编辑器的场景只有少数几种,已知的有:异常测试(请参考异常测试用例)、参数为指向其他数据的指针参数为函数指针可变参数

    下图是用例代码编辑器界面。工具栏中,多数按钮在用例数据窗口已在用例数据窗口出现,通常不需要在用例代码编辑器中使用。用例代码编辑器比较常用的工具栏按钮有:
    添加变量到表格,如果添加的是局部变量(如用于定义一个参数),则会在用例代码编辑器中添加一行代码。
    切换到完整代码,按下时显示用例的完整代码,弹起时显示用例的输入输出代码。
   


参数为指向其他数据的指针 
    这种情形虽然需要修改用例代码,但一般可以在用例数据界面直接完成,请参考添加变量到表格

参数为函数指针
    例如,被测试函数为:
    extern int onefunc(int a, int b);
    typedef int (*MYFUNC)(int a, int b);
    /* //////////////////////////////////////////////
    需修改用例代码(二):函数指针

    函数说明:
    功能: 无
    参数: a 无意义
    b 无意义
    pFunc 一个函数指针
    返回: 调用函数指针后的结果
    ///////////////////////////////////////////////*/

    int _03_FunctionPtr(int a, int b, MYFUNC pFunc)
    {
        return pFunc(a, b);
    }

    自动生成的用例代码的输入为:
    TDP_DEFINE_INIT_GRID(int, a, a, 0);
    TDP_DEFINE_INIT_GRID(int, b, b, 0);
    TDP_DEFINE_INIT_GRID(MYFUNC, pFunc, pFunc, 0);

    要让pFunc指向onefunc(),则需要在用例代码的输入部分添加:
    pFunc = onefunc;

可变参数
    例如,被测试函数为:
    /* //////////////////////////////////////////////
    需修改用例代码(三):可变参数

    函数说明:
    功能: 无
    参数: a 无意义
    b 无意义
    返回: 无意义
    ///////////////////////////////////////////////*/

    int _04_VaryingParameter(int a, int b,...)
    {
        return a+b;
    }

    如果需要添加第三个参数int c,则:
    1) 添加一个局部变量int c。
    2) 切换到测试文件窗口(因修改较多,在测试文件窗口编辑比较方便)。
    3)将用例代码中TEST_RUN所在行的代码由:
    EST_RUN _04_VaryingParameter_vpls(a, b);
    改为:
    TEST_RUN _04_VaryingParameter_vpls(a, b, c);
    即添加一个参数c。
    4)为插装函数_04_VaryingParameter_vpls增加参数c:
    static int _04_VaryingParameter_vpls(int a,int b,int c )
    {
        VuxIncRunTimes();
        if(VuxRateTesting()) {return _04_VaryingParameter(a,b,c);}
        else if(VuxIsRepeatRun()) {return _04_VaryingParameter_vpls_(a,b,c);}

        {int vuxRet = _04_VaryingParameter_vpls_(a,b,c);
        TEST_ASSERT_RETURN("int", &vuxRet);
        VuxResetRunTimes();
        return vuxRet;}
    }

    可变参数由于涉及到对插装代码的修改,如果产品代码更新了,则插装代码会自动刷新,又要重新修改,因此,如需对可变参数添加实参,最好等函数代码编写完成后进行。