栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Spock-Genesis】对输出数据的控制——seed、with、map

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Spock-Genesis】对输出数据的控制——seed、with、map

文章目录
  • 前言
  • 一、随机数据的控制——seed(num)
  • 二、通过with对生成数据属性进行设置
  • 三、map遍历操作输出结果
  • 总结


前言 如同Java中random的的方法,可以通过种子对,随机值进行简单的控制,Gen提供seed(num)对随机数据进行控制。
一、随机数据的控制——seed(num)
    def 'setting seed returns the same values with 2 generators configured the same'() {
        given:
        def generatedA = Gen.string(10).seed(879).take(10).realized
        def generatedB = Gen.string(10).seed(879).take(10).realized
        expect:
       def bo = generatedA == generatedB
        println(bo)
    }

运行结果:

true
相同参数的随机生成模式结果一致

    def 'setting seed returns the same values with 2 generators configured the same'() {
        given:
        def generatedA = Gen.string(10).seed(879).take(10).realized
        def generatedB = Gen.string(10).seed(678).take(10).realized
        expect:
       def bo = generatedA == generatedB
        println(bo)
    }

运行结果:

false
不同参数的随机生成模式结果不一致

二、通过with对生成数据属性进行设置
    def 'call methods on generated value using with'() {
        setup:
        def gen = Gen.date.with { setTime(1400) }

        expect:
        def bo = gen.iterator().next().getTime() == 1400
        println(bo)
    }

运行结果:

true

三、map遍历操作输出结果
    @Iterations(2)
    def 'transform the output of a generator'() {
        expect:
        result instanceof String
        result.isInteger()
        println(result)
        where:
        result << Gen.integer.map { val -> val.toString() }
    }

运行结果:

-583199763
1209440527


总结

类似与Java8出现的函数表达式,通过对输出结果的控制,从而更好的优化所得结果。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/292793.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号