一部のアプリケーション ドメイン (GameDev など) では、出力を生成するためにランダムな値を使用して多くの関数を作成する必要があります。例の 1 つを以下に示します。
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
この関数は、いくつかのランダム操作に基づいてアイテムのドロップを生成します。この関数の正確性を自動的に検証したい場合、問題が発生します。生成された値は決定論的ではなく、回帰テストの作成は不可能のようです。
私の質問は次のとおりです。
- このタイプの関数に対して有用な回帰テストを作成することは可能ですか?
- この場合、他のタイプのテストを作成するための一般的なアプローチはありますか?