randint(0, 3)
sleep(ts)
_____
Есть тест:
def test_run():
with patch('app.mod.sleep') as mock:
run()
mock.assert_called_once_with(????)
как мне замокать строку
ts = randint(0, 3)
что бы сравнить ее в assert_called_once_with
По-моему, оно так не делается. Мок делают, когда можно сымитировать поведение объекта, например, базу данных искусственную подсунуть. А тут все в функции и через аргумент не протащить Поправьте, если не прав
Да это я упоролся похоже уже вникать в тесты, целая наука, и самое не простое это дело Решил просто засечь время до и после вызова в тестах и сравнить что бы оно было не больше
Манкипатчить ничего не нужно, это плохой путь. Твоя функция run должна принимать на вход функцию, которая генерирует рандомное число, и в тесте нужно передавать нужный вариант
Зачем ты в тестах время сравниваешь?
Надо ее протестировать
И что ты тут тестируешь?
Обсуждают сегодня