gpt4 book ai didi

unit-testing - 创建用于测试的随机数据

转载 作者:行者123 更新时间:2023-11-28 20:09:49 25 4
gpt4 key购买 nike

有谁知道可以生成填充有随机数据的 xml 文件的应用程序?

我的应用程序有一个导入程序,它应该可以处理几乎所有大小和结构的 xml 文件,我想对此进行测试。

要清楚;不仅所有元素名称和值都需要是随机的,而且树结构本身也是如此。应该有随机数量的子分支,每个分支都有更多的随机分支等等。

同样,是否有应用程序可以为 Json 文件创建相同类型的随机数据?

最佳答案

第 1 步。为 XML 中的重复元素定义模板。

t= string.Template( """<sometag><data>${data}</data><moredata>${moredata}</moredata></sometag>""" )

第 2 步。生成随机值。

import random
args = dict(
data = random.random(),
moredata= random.random()
)

第 3 步。将随机值插入模板。

t.substitute( **args )

无需太多工作,您就可以轻松生成大量随机 XML。想要名字而不是数字?

def random_name( size=8 ):
return "".join( random.choice(string.ascii_letters) for x in range(size) )

想要可变长度的名称?

def random_variable_len_name( mean_size= 8, std_size= 2 ):
size= int(random.gauss( mean_size, std_size ))
return random_name( size )

可能性是无穷无尽的,而且实现起来非常简单。


随机 JSON 更容易。

import json
import random
args = dict(
data = random.random(),
moredata= random.random()
)
json.dumps( [args] )

如果“随机”让您感到困惑,请考虑一下。

t1 = string.Template( """<sometag>${body}</sometag>""" )
t2 = string.Template( """<othertag attr="$attr">$data</othertag>""" )
t3 = string.Template( """<moretag attr="$attr">$data</moretag>""" )
elements = random.randint(0,4)
body= [ random.choice([t2,t3]).substitute( attr=random.random(), data= random_name() ) for x in range(elements) ]
t1.substitute( body="".join( body ) )

例如,这将在另一个标签内创建随机标签。

关于unit-testing - 创建用于测试的随机数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4218287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com