Проблема: Мне нужно пропатчить функцию random() из библиотеки случайных значений со значениями, зависящими от модуля. Насколько я понимаю,ock.patch('modul1.random.random', return_value=1) должен влиять только на modul1 и никакие другие функции random() в других модулях. То же самое для модуля2:
modul1.py:
Код: Выделить всё
import random
def function():
return random.random()
Код: Выделить всё
import random
def function():
return random.random()
Код: Выделить всё
def test_function():
with mock.patch('modul1.random.random', return_value=1), \
mock.patch('modul2.random.random', return_value=0):
val1 = modul1.function()
val2 = modul2.function()
assert not val1 == val2
Реальность: утверждать не 0 == 0
PythonCodebase/tests/test_phase.py:55: AssertionError
Подробнее здесь: https://stackoverflow.com/questions/792 ... -the-modul