【技术实现步骤摘要】
一种代码生成方法、装置及电子设备
本专利技术涉及软件测试
,尤其涉及一种代码生成方法、装置及电子设备。
技术介绍
在针对软件项目进行驱动开发的测试过程时,需要首先编写测试用例,再对每个测试用例开发出对应的测试代码。在开发测试代码过程中,测试框架需要构造的测试用例通常是json类型,由此,需要开发人员按照测试需求将源代码文件并结合属性参数编写相应的json类型的测试代码。基于以上方案,开发人员进行json代码的编写工作是非常耗时的,因此,存在效率较低的问题。
技术实现思路
有鉴于此,本专利技术提供一种代码生成方法、装置及电子设备,如下:一种代码生成方法,所述方法包括:获得源代码文件;输出所述源代码文件对应的对象树,所述对象树具有一个根节点,所述根节点具有至少一个子节点,所述子节点与所述源代码文件中的对象相对应;在接收到针对所述子节点的输入参数的情况下,根据所述输入参数以及所述子节点对应的预设类型的代码结构,生成所述子节点对应的对象的代码串,所述对象的代码 ...
【技术保护点】
1.一种代码生成方法,其特征在于,所述方法包括:/n获得源代码文件;/n输出所述源代码文件对应的对象树,所述对象树具有一个根节点,所述根节点具有至少一个子节点,所述子节点与所述源代码文件中的对象相对应;/n在接收到针对所述子节点的输入参数的情况下,根据所述输入参数以及所述子节点对应的预设类型的代码结构,生成所述子节点对应的对象的代码串,所述对象的代码串组成所述源代码文件的预设类型的代码串。/n
【技术特征摘要】
1.一种代码生成方法,其特征在于,所述方法包括:
获得源代码文件;
输出所述源代码文件对应的对象树,所述对象树具有一个根节点,所述根节点具有至少一个子节点,所述子节点与所述源代码文件中的对象相对应;
在接收到针对所述子节点的输入参数的情况下,根据所述输入参数以及所述子节点对应的预设类型的代码结构,生成所述子节点对应的对象的代码串,所述对象的代码串组成所述源代码文件的预设类型的代码串。
2.根据权利要求1所述的方法,其特征在于,输出所述源代码文件对应的对象树,包括:
解析所述源代码文件,以得到所述源代码文件中的至少一个对象及在所述对象为多个的情况下的所述对象之间的对象关系;
根据所述对象及在所述对象为多个的情况下的所述对象之间的对象关系,生成对象树,所述对象树具有一个根节点,所述根节点具有至少一个子节点,所述子节点与所述源代码文件中的对象相对应,且在所述对象为多个的情况下所述子节点之间的关系与所述对象之间的对象关系相对应,所述子节点对应于预设类型的代码结构;
按照所述子节点之间的关系,输出所述对象树中的子节点。
3.根据权利要求2所述的方法,其特征在于,解析所述源代码文件,以得到所述源代码文件中的至少一个对象及在所述对象为多个的情况下的所述对象之间的对象关系,包括:
对所述源代码文件进行编译,得到所述源代码文件对应的可执行代码;
将所述可执行代码进行加载,以得到处于运行时环境的可执行代码;
利用get函数,获得所述可执行代码中的至少一个对象以及在所述对象为多个的情况下的所述对象之间的对象关系。
4.根据权利要求2所述的方法,其特征在于,根据所述对象及在所述对象为多个的情况下的所述对象之间的对象关系,生成对象树,包括:
初始化对象树的根节点;
在所述对象为一个的情况下,利用反射机制,获得所述对象的属性信息,所述属性信息至少表征所述对象的对象类型,根据所述属性信息所表征的对象类型,为所述根节点添加与所述对象相对应的子节点;
在所述对象为多个的情况下,遍历每个所述对象,以利用反射机制,分别获得每个所述对象的属性信息,根据所述属性信息所表征的对象类型,为所述根节点分别添加与所述对象相对应的子节点。
5.根据权利要求4所述的方法,其特征在于,根据所述属性信息所表征的对象类型,为所述根节点添加与所述对象相对应的子节点,包括:
如果所述对象类型为基础类型,为所述根节点添加与所述对象相对应的叶子节点;
如果所述对象类型为数组类型,为所述根节点添加与所述对象相对应的...
【专利技术属性】
技术研发人员:黄海燕,陈诗荣,李颖,杜武全,付贤超,佟婷婷,
申请(专利权)人:中国民航信息网络股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。