欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2018100243463
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-08-26
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种JS代码的测试方法,其用于测试JS代码是否正确,其特征在于,包括步骤:根据每份JS代码占用内存大小将若干份JS代码打包成一份JS代码;

在已打包的JS代码中集成JS引擎,并编写一用于执行已打包的JS代码的JS引擎接口,调用JS引擎接口得到已打包的JS代码的执行结果,该已打包的JS代码的执行结果中包括未打包前的每份JS代码的执行结果;

分别编写与未打包前的每份JS代码功能对应的若干份编译型语言代码,并分别执行每份所述编译型语言代码,获得若干个编译型语言代码的执行结果;

对应比较未打包前的JS代码的执行结果和编译型语言代码的执行结果是否一致,并根据比较结果判断所述未打包前的JS代码是否正确;

其中,在对若干份JS代码进行打包之前,先将每份JS代码均生成一func函数,并添加序号,具体的,在打包前,先将每个房间号的代码外面包一层函数,对于每个房间的代码都会生成一个func函数,并更新序号,在打包时,将若干份均进行包装后的每个房间号的代码进行打包,在后续执行打包后的JS代码时,执行打包的函数func来获得每个房间号的执行结果。

2.如权利要求1所述的JS代码的测试方法,其特征在于:编写一用于执行已打包的JS代码的JS引擎接口的具体步骤为:创建JS引擎的全局初始化和环境;创建隔离区;设置JS引擎独立运行的环境;管理本地的Handle对象;创建运行的上下文;创建字符串转换对象;编译原始的JS代码;执行编译好的JS代码。

3.如权利要求1所述的JS代码的测试方法,其特征在于:所述JS引擎为V8引擎。

4.如权利要求1所述的JS代码的测试方法,其特征在于:所述编译型语言代码为C语言代码。

5.一种存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现上述权利要求1至4中任一项所述方法的步骤。

6.一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现上述权利要求1至4中任一项所述方法的步骤。

7.一种JS代码的测试系统,其特征在于:所述系统包括打包模块、第一模块、第二模块和比较模块;

所述打包模块用于根据每份JS代码占用内存大小将若干份JS代码打包成一份JS代码;

所述第一模块用于在已打包的JS代码中集成JS引擎,并编写一用于执行已打包的JS代码的JS引擎接口,调用JS引擎接口得到已打包的JS代码的执行结果,该已打包的JS代码的执行结果中包括未打包前的每份JS代码的执行结果;

所述第二模块用于编写与未打包前的每份JS代码功能对应的若干份编译型语言代码,并分别执行每份所述编译型语言代码,获得若干个编译型语言代码的执行结果;

所述比较模块用于对应比较未打包前的JS代码的执行结果和编译型语言代码的执行结果是否一致,并根据比较结果判断所述未打包前的JS代码是否正确;

其中,在对若干份JS代码进行打包之前,先将每份JS代码均生成一func函数,并添加序号,具体的,在打包前,先将每个房间号的代码外面包一层函数,对于每个房间的代码都会生成一个func函数,并更新序号,在打包时,将若干份均进行包装后的每个房间号的代码进行打包,在后续执行打包后的JS代码时,执行打包的函数func来获得每个房间号的执行结果。

8.如权利要求7所述的JS代码的测试系统,其特征在于:所述第一模块包括创建单元、设置单元、管理单元、编译单元和执行单元;

所述创建单元用于创建JS引擎的全局初始化和环境,并创建隔离区,还用于创建运行的上下文,并创建字符串转换对象;

所述设置单元用于设置JS引擎独立运行的环境;

所述管理单元用于管理本地的Handle对象;

所述编译单元用于编译原始的JS代码;

所述执行单元用于执行编译好的JS代码。

9.如权利要求7所述的JS代码的测试系统,其特征在于:所述JS引擎为V8引擎。

10.如权利要求7所述的JS代码的测试系统,其特征在于:所述编译型语言代码为C语言代码。