有一些应用程序域(例如 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
这个函数根据几个随机操作生成物品的掉落。如果您想自动验证此功能的正确性,则会出现问题。生成的值不是确定性的,编写回归测试似乎是不可能的。
我的问题是:
- 这是否可以为此类函数编写有用的回归测试?
- 在这种情况下,是否有任何通用方法可以创建其他类型的测试?