您可以在每个断言之前简单地将模拟值分配给常量:

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.datetime')

def test_get_local_time(self, mock_dt):

# Mock to 15:00 UTC

mock_dt.utcnow.return_value = datetime(2017, 5, 3, 15)

# Test with TZ 'Europe/Kiev' +02:00 +03:00(DST)

my_mod.LOCAL_TZ = 'Europe/Kiev'

assert my_mod.get_local_time() == '18:00'

# Test with TZ 'America/New_York' -05:00 -04:00(DST)

my_mod.LOCAL_TZ = 'America/New_York'

assert my_mod.get_local_time() == '11:00'

所以根本不需要修补常量

python函数调用时所提供的参数可以是常量_如何使用mock作为函数参数在Python中修补常量...相关推荐

  1. python函数调用时所提供的参数可以是常量_元组的元素不能修改,一般作为参数传递给函数调用,或是从函数调用除获得参数时,保护其内容不被外部接口修改和破坏。( )_学小易找答案...

    [单选题]设 且 存在,则 ________ [单选题]下列论断中,( )是准确的 [单选题]当常数 --时,曲线 与 相切 [判断题]在列表中可以嵌套另一个列表.( ) [填空题]常用的编程思想有面 ...

  2. python函数调用时所提供的参数可以是变量吗_Python函数一章,关于变量参数调用(何时使用*)记录,pytho,章节,可变,的,什么,时候...

    关于可变参数调用 def bmi(*person): for list_person in person: for item in list_person: - 这个,调用时,不需要带* bmi(li ...

  3. python函数调用时等价_python 之 函数

    s = 'hello' # print(len(s)) # len() 内置函数:python提前给你的写好了的函数 你直接调用即可 # # n = 0 # for i in s: # n += 1 ...

  4. python函数调用时的实参和形参之间传递_python 函数(实参与形参、传递参数)...

    函数 什么是函数?函数是带名字的代码块,用于完成具体的工作.写出一个函数后,就可以一直调用. 定义函数,函数的基本组成: 1.1 向函数传递参数 向函数中传递任意参数,这样打印出的结果就可以根据自己的 ...

  5. python函数参数为类对象_将Cython类对象作为参数传递给C函数

    问题已经解决了.这是因为类中的方法被定义为cdef,而不是{}.在 样品c #include "python.h" void c_func(PyObject *obj){ PyGI ...

  6. python内置的装饰器最通俗的讲解_如何最简单、通俗地理解Python的装饰器?

    目录: 一.笔记 二.我的自学路线 三.笔记目录 一.笔记 1) 装饰器的定义 ① 装饰器就是给已有函数增加额外功能的函数,它本质上就是一个闭包函数. ② 装饰器的功能特点:1. 不修改已有函数的源代 ...

  7. Python批量下载电子邮件附件并汇总合并Excel文件_如何让繁琐工作自动化:聊聊Python与RPA...

    RPA,是Robotic Process Automation的英文缩写,中文是机器人流程自动化,利用软件将重复性的工作自动化.基本目标是让人从重复性强的繁琐工作中解放出来去做更有意义更具创造性的工作 ...

  8. python中如何调用函数_我写了一个函数,如何在python中调用

    匿名用户 1级 2015-03-06 回答 Python的特色简单 Python是一种代表简单主义思想的语言.阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Pyth ...

  9. python绘制直方图的函数_(六)pyplot基础图表函数(学习笔记)|python数据分析与展示...

    1.pyplot基础图表函数概述 2.pyplot图饼的绘制 3.pyplot直方图的绘制 4.pyplot极坐标图的绘制 5.pyplot散点图的绘制 6.单元小结 [网页链接[Python数据分析 ...

  10. 更换参数长度为零_图们水稳拌合机械机械参数 - 图们机械及行业设备

    图们水稳拌合机械机械参数加入减水剂后,混凝土罐车应快速旋转搅拌均匀,并应达到要求的工作性能后再泵送或浇筑.(八),合理布料,防止混凝土出现离析.对于竖向构件,根据构件高度制定投料方案,避免混凝土产生离 ...

最新文章

  1. JMC | 人工智能在药物合成中的当前和未来作用(1)
  2. 企业网站做SEO优化必走的三条路线,希望新人前方不要右转
  3. C++中private成员变量和protect成员变量的区别
  4. 性别有什么用_为啥不让男孩玩布娃娃?别让你的“性别偏见”,给孩子的人生设限...
  5. 20191215周学习总结
  6. 如何去设计前端框架能力?星巴克消息开放项目从0到1,从点到面的思考
  7. 保姆级教程,终于搞懂脏读、幻读和不可重复读了!
  8. C++笔记------static 和 const 在类中用法
  9. c语言烟花表白程序代码,C语言实战之浪漫烟花表白程序代码
  10. HandlerSocket简介及安装及卸载
  11. 计算机基础与网络在线试题,计算机网络基础期末考试试题
  12. 数字化转型— 华为业务流程模型学习
  13. win10录屏_win10录屏打不开怎么办?怎么给win10录制屏幕视频?
  14. dell2900服务器做系统,dell2900如何重装系统
  15. 如何批量修改图片宽高尺寸
  16. word中多级列表编号错乱怎么办?
  17. 鸭子类型 Duck typing
  18. word文档在线编辑推荐超级文档
  19. 液晶显示屏模组工艺流程是什么,液晶显示模组生产流程的意义
  20. EDA项目 出租车计价器 赏析

热门文章

  1. 计算机组成原理补充实验,计算机组成原理补充实验.doc
  2. 【优化求解】基于matlab改进的粒子群算法求解混合储能系统容量优化问题【含Matlab源码 1823期】
  3. 【雷达测角】基于matlab和差波束加权【含Matlab源码 1674期】
  4. 2021全国大学生数学建模竞赛报名通知+试题+优秀论文
  5. 【目标跟踪】基于matlab Kalman滤波目标跟踪【含Matlab源码 388期】
  6. 【元胞自动机】基于matlab元胞自动机四车道交通流【含Matlab源码 039期】
  7. 面试问到处理过什么棘手问题_为什么调节人工智能如此棘手?
  8. 错误代码1500什么意思_为什么藏族可以吃牦牛肉?(笑cry~
  9. c 连接mysql通用_用C语言操作MySQL数据库的通用方法
  10. Ubuntu18.04安装MyEclipse2017 CI 10