gson 说明
JSON对象格式
法兹测试仪测试案例编纂JavaScript对象表示法(JSON)格式的特殊字符转义,类型等,由于谷歌GSON是底层的JSON库处理类型的详细说明,请参阅到GSON文档的详细信息,请参阅JSON.org 。
简单的类型
- 整型,长,短,字节- > java.lang.Integer的 (如果可能的话)
- 浮动,双- > java.lang.Double
- 布尔- > java.lang.Boolean的
- 字符串- > java.lang.String的
- 空
- 简单类型的数组或简单的JSON对象
- 简单对象(bean)(即只有非周期性对象图,没有对象的集合,在这个时候支持,没有自我的参照对象)
测试格式为例
下面是一个例子JSON测试文件,
{
“只有”:“truncExample,”anotherExample“],#可选,方法名的列表运行
“的unittest”:[#
{
“跳过”:真实,#可选,默认为false,则跳过此方法在其整个
“意见”:“入门的TRUNC测试(输入,长度,预期)”,#可选
“方法”:“truncExample”的规定,#方法名测试
“测试用例”:[#,运行测试用例列表
{“参数”:[“12”,6“,12”]}
{“参数”:“123456”,“123456”]},
{“参数”:“123456789”,-1,“123456789”]},
{
“参数”:1,空,空,
“通”:假的,#可选,断言结果的测试,默认为true
}
]
}
]
}
上args中的注意事项
- 类型错误看起来像下面:JsonDeserializer IntegerTypeAdapter的失败反序列化的JSON对象XYZ类型类java.lang.Integer的
- 使用内置的类型在方法将产生类似下面的错误:java.lang.ClassCastException
测试异常
{
“的unittest”:[#
{
“意见”:“除了入门(输入,预期)”,
“方法”:“exceptionExample”
“测试用例”:[
{
“姓名”:“一些描述性文字”#可选
“参数”:“1”,空]
“exceptionThrown”:“java.lang.Exception的”#optinal的的,检查完全合格的异常被抛出
}
{
“参数”:“1”,空]
的“exceptionThrown”:“java.lang.Exception的”
“exceptionMessage”:“这是一个测试异常:1#可选检查异常的消息匹配
}
{
“参数”:“1”,空]
“exceptionMessage”:“这是一个测试异常:1”
}
{
“跳过”:真实,#可选,请跳过此测试,默认为false
“参数”:[NULL,NULL]
}
]
}
]
}
例外的注意事项
- 你必须提供完全合格的异常名称为“exceptionThrown”
- “exceptionMessage”只有符合年初预期的消息抛出的异常消息,没有外卡或宏支持(在这个时候),根据要求更精密的匹配可实现像“exceptionMessageContains”
复杂的方法参数
通过豆类和数组的一个例子
{
“的unittest”:[#
{
“方法”:“truncExample2”
“测试用例”:[
{
“参数”:[
1{“memberData1”:“12”,“someVariable”:6,“anotherVariable”:4.5}
真实,
2[1,2,9]
]
3“名”:“我TRUNC的例子#1”
}
]
}
]
}
- 表示一个简单的对象或豆类三个成员变量memberData1“,”someVariable“和”anotherVariable“
- 是一个int数组
- 你可以命名你的测试,打印出测试结果时,将用于测试运行(所有测试也编号的名称)
在对象上的注意事项
- 对象必须有一个默认的构造函数定义(即一个不带参数的构造函数)看起来是这样的无参数的构造类XYZ不存在错误。 注册同比InstanceCreator与GSON这种类型来解决这个问题。
- 定义对象有没有其他对象的集合,但可以引用其他对象,不允许米自引用
- JSON密钥必须匹配的成员数据的名称,否则该值将不能设置
提示
- 如果你有你的JSON解析问题,请尝试使用一个JSON皮棉像http://www.jsonlint.com/资源中,GSON解析器不提供不幸的是,最好的错误讯息
- 您可以添加元数据的JSON文件,比如key-value对不认可FuzzTestRunner的,例如:
{
“ID”:“$ ID:$”,#元数据添加颠覆ID
“的unittest”:[
{
“说明”:“一些更多的元数据”,#元数据被忽略FuzzTestRunner
“方法”:“truncExample2”
“测试用例”:[
{“参数”:[真实的,“XYZ”]}
]
}
]
}
元素说明
引号(“)中的元素是文字, 斜体元素匿名JSON对象,例如一个无名对象表示由花括号{}
- “单元测试”:需要,(只有一个)包含一个测试对象的集合
- “唯一”:可选的,只运行指定的测试列表
- 测试对象:需要(很多)
- “法”:要求被测试的方法名
- “跳过”:可选,默认为false,如果设置为真正的测试方法将不能运行
- “评论:可选,提供了一个注释这种测试方法
- “测试用例”的要求,只有一个包含测试用例的集合
- 所需的TestCase对象:(许多)
- “参数”:需要,将传递的测试方法包含一个参数数组
- “通”:可选,默认为true,如果您希望输入失败的通假
- “跳过”:可选,默认为false如果设置为true标记试验将被跳过
- “姓名”:可选的,命名这个测试案例的名称的值是用于测试亚军输出,这个名字将回荡测试亚军
gson 说明的更多相关文章
- No-args constructor for class X does not exist. Register an InstanceCreator with Gson for this type to fix this problem.
Gson解析JSON字符串时出现了下面的错误: No-args constructor for class X does not exist. Register an InstanceCreator ...
- Gson将字符串转换成JsonObject和JsonArray
以下均利用Gson来处理: 1.将bean转换成Json字符串: public static String beanToJSONString(Object bean) { return new Gso ...
- Gson解析纯Json数组
[ { "type": "123", "value": 123 }, { "type": "234" ...
- 【Gson】互相转化
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库.可以将一个 JSON 字符串转成一个 Java 对象,或者反过来. 对象转为字符串 Strin ...
- Android Gson解析
目前解析json有三种工具:org.json(Java常用的解析),fastjson(阿里巴巴工程师开发的),Gson(Google官网出的),解析速度最快的是Gson,下载地址:https://co ...
- Android总结之json解析(FastJson Gson 对比)
前言: 最近为了统一项目中使用的框架,发现项目中用到了两种json解析框架,他们就是当今非常主流的json解析框架:google的Gson 和阿里巴巴的FastJson,为了废除其中一个所以来个性能和 ...
- gson笔记 解析json数据
gson中负责json数据解析的类是JsonReader. Json格式有两种结构,一种是对象(键值对的组合,无序),另外一种是数组(值的有序集合). 因此针对这两种格式,JsonReader提供了不 ...
- Android Gson的使用总结
1.概念 Gson是谷歌发布的一个json解析框架 2.如何获取 github:https://github.com/google/gson android studio使用 compile 'com ...
- Android JSON、GSON、FastJson的封装与解析
声明: 1.本帖只提供代码,不深入讲解原理.如果读者想要深入了解,那就不要在这个帖子上浪费时间了 2.客户端用的是Google官方的Volley访问服务器,具体了解Volley请戳 这里 3.本帖三种 ...
- Java Gson 简要笔记
Gson是Google开发的Java比较好用的 Json工具. 使用挺简单,假设有个类: class Runner { int attr; String name; public Runner(int ...
随机推荐
- QT1.1-与Opencv的hello world
qt:一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架.它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器.Qt是面向对象的框架,使用特殊的代码生成扩展(称 ...
- jqgrid 让隐藏的列在编辑状态时出现且可编辑
有时,我们需要隐藏一个列数据,但在启动编辑时又能够被编辑. 1.设置列为编辑:editable: true 2.设置 editrules属性值为: edithidden: true colModel: ...
- js倒计时,页面刷新时,不会从头计时
最近不忙,瞎鼓捣...哈哈 这里利用了H5的本地存储 localStorage,取秒数直接用了php的time()方法,就懒得用js取了. 把第一次访问页面时的时间存在客户端,然后再刷新的时候,比较用 ...
- 50Hz工频干扰消除
50Hz工频干扰消除 今天整理工频干扰消除算法. 我们知道,设计数字滤波器,和模拟滤波器的实质,其实就是求一组系数,逼近要求的频率响应. 模拟滤波器已经很成熟,因此,数字滤波器的设计,将S平面映射到Z ...
- iOS Swift WisdomScanKit二维码扫码SDK,自定义全屏拍照SDK,系统相册图片浏览,编辑SDK
iOS Swift WisdomScanKit 是一款强大的集二维码扫码,自定义全屏拍照,系统相册图片编辑多选和系统相册图片浏览功能于一身的 Framework SDK [1]前言: 今天给大家 ...
- mfc 基类与子类
基类(父类) 派生类(子类) 一.基类(父类) 基类(又称为父类,基类与派生类是相对的关系! 通过继承机制,可以利用已有的数据类型来定义新的数据类型.所定义的新的数据类型不仅拥有新定义的成员,而且还同 ...
- dotnet core webapi 发布部署到docker的步骤
1. 创建web api项目,编译并测试成功 2. 在项目的根目录添加Dockerfile文件,注意:Dockerfile文件名区分大小写 文件内容如下 # 基于microsoft/dotnet:la ...
- 洛咕 P2336 [SCOI2012]喵星球上的点名
洛咕 P2336 [SCOI2012]喵星球上的点名 先求出SA和height,一个点名串对应的就是一段区间,还有很多个点,就转化成了 有很多个区间,很多个点集,对每个区间计算和多少个点集有交,对每个 ...
- 搭建django虚拟环境完整步骤
一.建立虚拟环境 pip install virtualenv 要使用Django,首先要建立一个虚拟工作环境.我们先为项目建立一个文件夹learn,在文件夹中打开命令行(shift+右击),来建立另 ...
- node基础-文件系统-文件写操作
文件操作频率最高的就是读跟写.nodejs的文件的读取API在<node基础-文件系统-读取文件>里已经简单介绍过,本文就简单介绍下nodejs的文件写API. nodejs的文件操作均提 ...