gadget编码与单元测试和service编写示例

gadget编码:

function(title, projectCid, testCaseList, registrationDeadline, taskDeadline, callback) {
    //if(测试用例对象数组不存在) {
    if (testCaseList.length == 0) {
        //callback(23);
        callback(23);
        //返回
        return;
    }
    //}
    //定义变量testCaseStr,用于存放选中测试用例标识符(以逗号隔开)
    var testCaseStr = '';
    //while(遍历测试用例对象数组) {将测试用例标识符组成一个以“,”隔开的字符串
    for (var i = 0; i < testCaseList.length; i++) {
        //if(数组下标等于0) {
        if (i == 0) {
            //testCaseStr赋值为测试用例标识符(cid)
            testCaseStr = testCaseList[i].cid;
        }
        //}
        //else {
        else {
            //testCaseStr加等于"," + 测试用例标识符
            testCaseStr = testCaseStr + ',' + testCaseList[i].cid;
        }
        //}
    }
    //}
    //将testCaseList转换成json字符串
    testCaseList = FW.use().toJSONString(testCaseList);
    //block(gadget属性viewParam){设置gadget属性viewParam值,调用service时所需参数,viewParam为json对象
    this.param.viewParam = {
        //++key为“title”,值为:title
        "title": title,
        //++key为“projectCid”,值为:projectCid
        "projectCid": projectCid,
        //++key为“testCaseList”,值为:testCaseList
        "testCaseList": testCaseList,
        //++key为“registrationDeadline”,值为:registrationDeadline
        "registrationDeadline": registrationDeadline,
        //++key为“taskDeadline”,值为:taskDeadline
        "taskDeadline": taskDeadline,
        //++key为“testCaseStr”,值为:testCaseStr
        "testCaseStr": testCaseStr
    }
    //}
    //设置gadget参数viewServiceName的值为:"submitTestTaskToInsert"
    this.param.viewServiceName = "submitTestTaskToInsert";
    //设置gadget参数viewServicePackage的值为:"testTask"
    this.param.viewServicePackage = "testTask";
    //if(回调存在){异步调用service
    if (callback) {
        //调用私有方法commSql,参数传 callback。主要作用:调用service查询测试任务信息
        this.API.private("commSql", callback);
    }
    //}
    //else {同步调用service
    else {
        //定义变量resultObj,用于存放调用service后的结果集
        var resultObj = this.API.private("commSqlSync");
        //调用私有方法commSqlSync,并将返回结果,赋值给resultObj 主要作用:调用service查询测试任务信息
        //返回resultObj
        return resultObj;
    }
    //}
}

gadget单元测试:




//模拟桩
            FW.regAPI({
                doServer: function($service, $package, $parram, $callback) {

                    data = $parram.testCaseStr;
                    code = 20;
                    $callback && $callback(code, data);

                },
                show: function($viewid, $data, $target) {
                    if (!$viewid) {
                        return false;
                    }
                    if (!$data) {
                        return false;
                    }
                    return true;
                }
            });


//初始输入
            var app = null;
            var pageParam = {
                id: 'testTaskGadget.js',
                dom: $(document.body),
                param: {
                    viewId: "view_project"
                },


//实际的参数
                view: {}


//实际的视图内容
            };


//运行
            var testCaseList = [{
                "cid": "1",
                "title": "测试用例标题001"
            },
            {
                "cid": "2",
                "title": "测试用例标题002"
            },
            {
                "cid": "3",
                "title": "测试用例标题003"
            }];
            app = FW.createApp("testTaskGadget", "testTaskGadget", pageParam);
            app.subTestTaskToInsert("任务标题", "1", testCaseList, "2012-12-12", "2015-12-12",
            function(code, data) {
                JSTest.assertEquals("1,2,3", data, "测试任务");
            });


service编写SQL:

select cid,title,testCaseList,taskStatus,projectName,projectId,registrationDeadline,taskDeadline from zlwk_testtask where cid = ${str(_R.testTaskCid)}

insert into zlwk_testtaskapplylis (customerId,customerNickName,selectStatus,taskStatus,applyTime,nodeid,contactWay)  select ${str(_S.user.cid)},${str(_S.user.customerNickName)},'待选择',  taskStatus, unix_timestap() * 1000,cid, ${str(_R.contactWay)}  from zlwk_testtask where   t.cid =${str(_R.testTaskCid)} 

checkerInfo:
选择 校验类名 校验失败 结果码 校验对象 校验参数

NotNull  21       _R.testTaskCid

未登录 返回20

NotNull             20       _S.user.cid

猜你喜欢

转载自blog.csdn.net/gdn_wolf/article/details/47048777