概述
此功能将用例数据导出为JSON文件,可用于生成其他风格的测试代码。
导出
VU“工程”菜单,选择“导出JSON格式的用例数据”,弹出“导出JSON格式的用例数据”窗口,选择保存路径,点击“开始导出”, 如下图。
导出完成后,点击“打开所在位置”,即可打开JSON文件所在的文件夹。
文件结构与文件编码格式
文件目录结构与被测文件一致。每个被测源文件对应一个文件夹,存放该文件下的函数所对应的JSON文件。一个数据表,生成一个JSON文件,文件名就是函数名(C++工程则在文件名中增加用于区分重载函数的参数识别串)。如果一个函数有多个数据表,则从第二个表开始,JSON文件名增加了数据表编号,如test201(2).json。如下图。多个数据表时,同一变量可能设为不同数据类型,这是各自生成一个JSON文件的原因。
文件编码格式与VU“工程属性”》“常规”》“代码文件编码格式”中的设置一致,即被测文件为utf8时,生成的JSON文件也是utf8,否则为ansi。如果打开JSON文件后,中文显示为乱码,须自行用文件编码格式转换工具进行转换。
JSON文件内容说明
头部信息,如下图,其中,"description"项,保存用例说明,拷贝自数据表中的case
desc,每个用例一行,与后续的"values"对应。
文件的主体是用例数据,忽略了表格中无值的变量。用例数据分类对应表如下:
下图是数据表格与JSON对比。由于数据表格可以修改变量类型,如void*改为int[10],JSON用"type_old"项保存原来的类型,"type"项保存修改后的类型。
下图为复合类型的JSON表示,
其中,"sub_type"项保存下级类型。为了避免复杂数据类型生成大量冗余信息,
数据表中所有用例都未设值的成员将被忽略,下图中,变量pUnuse及b均未使用,JSON将忽略。
底层输入的对应JSON,如下图,"function",保存调用的底层函数,"targets"及下级各项"target",保存调用底层函数后,所生成的数据标的,"target"包括:
"return": 底层函数的返回值。
"parameter N": 底层函数的出参,N为参数的序号。
"global":底层函数产生的、保存在全局变量中的数据。
"member":底层函数产生的、保存在成员变量中的数据(C++)。
"call_times":调用次数。
"skip_it":不产生数据直接跳过。此项数据比较特殊,只有"in"的值为"-1"时,才是无效的,"in","out"都为空或其他值时,则是生效的。
|