gpt4 book ai didi

python - 为随机函数编写测试

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

我正在编写一个用于试验进化算法的程序包,不用说,它包含很多随机方法。现在,我想为这个包编写一些 (doc) 测试,这样我就可以验证一切是否正常,但我遇到了“大多数时候”测试应该只是真实的情况。感觉我可能以错误的方式处理这个问题,但我仍然想听听您对此的一些想法。

例如,我的文档测试中有这样的内容:

>>> a = Genome()
>>> b = Genome()
>>> a.mutate()
>>> a != b
True # Well, most of the time.

像这样实现测试意味着测试有时会在一切正常时失败。

我阅读了在进行测试之前修复 RNG 种子的建议,但随后我必须确保一切正常我才能编写测试,因为测试应该包括预期结果。

最佳答案

您可以忽略它失败的可能性,例如

a = Genome()
genomes = []
for i in range(100):
b = Genome()
b.mutate()
genomes.append(b)
assert any(a != b for b in genomes)

如果您的原始测试大部分时间都成功,那么出于所有实际目的,此测试将始终成功。

该测试还可以对允许匹配的基因组数量施加合理的限制。

可以说测试读起来不如原来的好。也许在这里使用 doctests 是错误的方法,您应该编写单独的单元测试。

关于python - 为随机函数编写测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10030589/

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