Существуют некоторые области приложений (например, 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
Эта функция генерирует выпадение предмета на основе нескольких случайных операций.Проблема возникает, если вы хотите автоматически проверять правильность этой функции.Сгенерированные значения не являются детерминированными и написание регрессионных тестов кажется невозможным.
Мои вопросы: