gson 说明

JSON对象格式

法兹测试仪测试案例编纂JavaScript对象表示法(JSON)格式的特殊字符转义,类型等,由于谷歌GSON是底层的JSON库处理类型的详细说明,请参阅到GSON文档的详细信息,请参阅JSON.org 

简单的类型

测试格式为例

下面是一个例子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
                   
“参数”:[NULLNULL]
               
}
           
]
       
}
   
]
}

例外的注意事项

  • 你必须提供完全合格的异常名称为“exceptionThrown”
  • “exceptionMessage”只有符合年初预期的消息抛出的异常消息,没有外卡或宏支持(在这个时候),根据要求更精密的匹配可实现像“exceptionMessageContains”

复杂的方法参数

通过豆类和数组的一个例子

 {
   
“的unittest”:[#
       
{
           
“方法”:“truncExample2
           
“测试用例”:[
               
{
                 
“参数”:[
1{“memberData1”:“12”,“someVariable”:6,“anotherVariable”:4.5}
                       
真实,
2[129]
                 
]
3“名”:“我TRUNC的例子#1
               
}
           
]
       
}
   
]
}
  1. 表示一个简单的对象或豆类三个成员变量memberData1“,”someVariable“和”anotherVariable“
  2. 是一个int数组
  3. 你可以命名你的测试,打印出测试结果时,将用于测试运行(所有测试也编号的名称)

在对象上的注意事项

  • 对象必须有一个默认的构造函数定义(即一个不带参数的构造函数)看起来是这样的无参数的构造类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标记试验将被跳过
          • “姓名”:可选的,命名这个测试案例的名称的值是用于测试亚军输出,这个名字将回荡测试亚军
原文地址:https://www.cnblogs.com/LLLONG/p/3154670.html