• 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标记试验将被跳过
            • “姓名”:可选的,命名这个测试案例的名称的值是用于测试亚军输出,这个名字将回荡测试亚军
  • 相关阅读:
    [luoguP1098] 字符串的展开(模拟)
    [luoguP1033] 自由落体(模拟?)
    [luoguP1011] 车站(递推)
    [luoguP1097] 统计数字(水)
    [luoguP2672] 推销员(贪心 + 树状数组 + 优先队列)
    [luoguP1043] 数字游戏(DP)
    [luoguP1058] 立体图(超级大模拟(¬︿̫̿¬☆))
    [luoguP1021] 邮票面值设计(DFS + dp)
    POJ 2184 Cow Exhibition (带负值的01背包)
    POJ 2392 Space Elevator (DP)
  • 原文地址:https://www.cnblogs.com/LLLONG/p/3154670.html
Copyright © 2020-2023  润新知