冻结日期:冻结日期时间。现在以已知值进行测试

frozendate的Python项目详细描述


Frozendate在测试运行时暂停时间。

frozendate模拟datetime.datetimedatetime.date以提供已知的 测试时的次数。

用法

import frozendate

with frozendate.freeze(1999, 1, 1):
    party_like_its_1999()

# freeze relative freezes time relative to the current date...
with freeze_relative(days=-1):
    assert all_my_troubles_seemed_so_far_away()

with freeze(1999, 12, 31):
    # ...or relative to the previous freeze
    with freeze_relative(days=1):
        print "happy new year!"

通常情况下,当你使用“冻结”时,时间并不会停止——它只是开始 再次从指定的固定点开始,例如:

>>> import frozendate
>>> import datetime
>>> with frozendate.freeze(2000, 1, 1):
...     print datetime.now().replace(microsecond=0)
...     time.sleep(1)
...     print datetime.now().replace(microsecond=0)
...
2000-01-01 00:00:00
2000-01-01 00:00:01

但如果通过hard=True

>>> with frozendate.freeze(2000, 1, 1, hard=True):
...     print datetime.now().replace(microsecond=0)
...     time.sleep(1)
...     print datetime.now().replace(microsecond=0)
...
2000-01-01 00:00:00
2000-01-01 00:00:00

除了上下文管理器之外,还有常规的修补和取消修补 功能。 这些在测试用例设置/拆卸方法中很有用:

def setUp(self):
    frozendate.patch(2000, 1, 1)

def tearDown(self):
    frozendate.unpatch()

当您调用freeze或patch时,它会冻结在 sys.modules。 有时您希望仅限于几个命名模块:

frozendate.freeze(modules=['mypackage.mymodule'])

或者修补所有内容,但排除一些需要实时日期的模块 静止:

frozendate.freeze(dontpatch=['somemodule', 'someotherpackage'])

0.1.3(发布日期:2018-10-10)

  • 修复与dateutil一起使用时出现的异常
  • 添加对Python3.7的支持
  • 放弃对Python2.6的支持

版本0.1.2

  • 添加对冻结datetime.utcnow()的支持

版本0.1.1

  • 与6一起使用时修复导入程序

0.1版

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
用于执行intellij插件的java自定义操作按钮   regexjava模式。带重叠分隔符的split()   java如何在使用ExpectedConditions时避免StaleElementReferenceException。属性是什么?   java在Hibernate中获得唯一的结果   位置更改时不更新java XML数据   java Web服务对另一Web服务的依赖关系   向数据库发布数据时出现java错误204   java如何永久删除listview项?   使用pdfbox为同一PDF创建java多个外部签名   java如何将属性(例如枚举)绑定到不同类型的组件属性(例如每个枚举的映像)?   java对活动生命周期的长期引用   java将一个int和string数组合并到第三个数组中   java停止线程和在哪里使用锁   java ADK与JDK与SDK的区别?   对于上面提到的程序,我得到一个测试用例的运行时错误。所有剩余的测试用例都通过了。有什么建议吗   java Spring启动项目创建bean时出错   java读取同一文件行上的字符串和整数