您可以在每个断言之前简单地将模拟值分配给常量:
def test_get_constant_3(self):
mymodule.MY_CONSTANT = 3
self.assertEqual(mymodule.get_constant(), 3)
mymodule.MY_CONSTANT = 7
self.assertEqual(mymodule.get_constant(), 7)
另一个例子
# --- config.py ---
class AppConf:
APP_TIMEZONE = os.environ.get['APP_TIMEZONE']
# --- my_mod.py ---
from datetime import datetime
from config import AppConf
LOCAL_TZ = AppConf.APP_TIMEZONE
def to_local_tz(dt_obj, tz):
"""Return datetime obj for specific timezone"""
# some code here
return local_dt_obj
def get_local_time():
return to_local_tz(datetime.utcnow(), LOCAL_TZ).strftime('%H:%M')
# --- test_my_mod.py ---
import my_mod
class TestMyMod(unittest.TestCase):
@patch('my_mod.date