介绍在本地读取客户端代码和本地插桩 用于辅助测试的一个例子
脚本是.lua 的,markdown 里我先选择用 ruby 的
请求邮件代码:
local Mail = class("Mail")
function Mail:Init()
end
省略代码…
-- 请求邮件列表 客户端逻辑
function Mail:requestMailList()
local msg = "cQueryMail "
app.msg:startWait("sQueryMail")
app.net:sendMsg(msg)
end
cQueryMail 和 sQueryMail 结合在一起就可以用来做一些耐性的测试.
领取附件奖励代码
function Mail:requestItems( id ) -- id 邮件Id
local msg = "cMailAttachGet "..id
app.msg:startWait("sMailAttachGet")
app.net:sendMsg(msg)
end
在代码里检索 sMailAttachGet,这样可以了解程序在邮件脚本的客户端逻辑。
领取附件及奖励返回代码:
function Mail:ctor()
略过
app.msg:addMsgListener("sMailAttachGet", handler(self, self.onGetMailAttach)) -- 领取附件奖励返回
self.mailList = {} -- 邮件列表
end
然后根据上面的"cMailAttachGet "..id 去模拟读一个
测试点:其中的 type 是否符合
测试点:时间戳时间是否正确
测试点:参数的返回内容长度和内容是否正确
在后台是这样的
继续检索 onGetMailAttach
-- 领取附件奖励返回
function Mail:onGetMailAttach( ret ) -- id 邮件Id
if 0 == ret then
app.event:dispatchEvent("close_OneMailInfo")
end
end
如果要插桩可以在 app.event:dispatchEvent("close_OneMailInfo") 后面加一行
release_print(" -------- 领取返回"..ret)
备注 cocos 要输出 release_print,需要在 AppDelegate.cpp 加一句
engine->executeString("print = release_print");
可以说这个是一个邮件客户端的一个逻辑性的测试。