gpt4 book ai didi

python - 如何验证使用随机函数的正确性?

转载 作者:太空狗 更新时间:2023-10-30 01:09:41 26 4
gpt4 key购买 nike

在一些应用领域(例如 GameDev)中,许多函数应该使用随机值来创建以产生它们的输出。示例之一如下所示:

def generate_key(monster_key_drop_coef):
key_letters = string.ascii_uppercase
rand = random.random()
if monster_key_drop_coef < rand:
return None

button = {}
button["type"] = random.choice([1,2,3])
button["letter"] = random.choice(key_letters)
return button

此函数根据几个随机操作生成元素的掉落。如果您想自动验证此功能的正确性,则会出现问题。生成的值不是确定性的,并且编写回归测试似乎是不可能的。

我的问题是:

  1. 是否可以为这种类型编写有用的回归测试?职能?
  2. 在这种情况下,是否有创建其他类型测试的通用方法?

最佳答案

下面介绍了一个有用的单元测试:

def test_generate_key():
button_list = []
for _ in range(1, 1000):
button_list.append(generate_key(0.2))

is_all_none = True
is_not_none = False
for key in button_list:
is_all_none &= (key is None)
is_not_none |= (key is not None)

assert is_all_none == False
assert is_not_none == True

它验证函数签名,覆盖函数代码的所有行(良好的概率)并且将在 99.999% 的情况下通过。还验证了该函数至少从 1000 中产生了一些下降,有时不产生下降。0.2 是元素掉落的概率。

关于python - 如何验证使用随机函数的正确性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10984348/

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