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


调用脚本

调用脚本简介
    调用脚本用于处理一个变量需引用另一个变量场景,支持以下脚本函数:   
    address,取变量地址;
    ptrcpy, 拷贝指针;
    sizeof,  取变量的size;
    strlen,  取字符串长度;
    lstrlen,取宽字符串长度。 

应用调用脚本
    在树表模式下,双击单元格进入编辑状态,右键菜单选择“调用脚本”,打开如下图所示的对话框,然后选择脚本,并选择作为脚本参数的变量,如下图:
   

    点击“确定”,单元格中会填入调用脚本的代码,类似于:$strlen(pp_tail)。
    在表格模式下,由于变量列表无法完整取得,所以不能使用“调用脚本”命令,但可以直接用同样的语法输入代码。

取变量地址与拷贝指针
    address用于将另一个变量的地址赋给一个指针变量;ptrcpy用于将另一个指针变量赋给一个指针变量。
   
    示例代码:
    /*
    调用脚本示例数据结构
    */

    typedef struct SDATA
    {
        int a;
        int b;
    }SDATA;

    extern SDATA gSData;
    extern SDATA* gpSData;

    /*
    调用脚本示例数据结构2
    */

    typedef struct MYSDATA
    {
        SDATA* ptr;
        SDATA** pptr;
    }MYSDATA;

    /* //////////////////////////////////////////////
    数据表格:调用脚本
    ///////////////////////////////////////////////*/

    int _11_CallScript(MYSDATA* pMyData)
    {
        //应用address
        if(pMyData->ptr == &gSData)
        {
            return pMyData->ptr->a;
        }

        //应用ptrcpy
        if(pMyData->ptr == gpSData)
        {
            return pMyData->ptr->a;
        }

        //应用address
        if(pMyData->pptr == &gpSData)
        {
            return (*pMyData->pptr)->a;
        }
    }

    测试数据如下图,对于参数的输入设置:
    用例1,相当于代码:pMyData->ptr  = &gSData;
    用例2,相当于代码:pMyData->ptr  =  gpSData;
    用例3,相当于代码:pMyData->pptr = &gpSData;