在 freeze_time 中包装测试的 fixtures
项目描述
在 freeze_time 中包装测试的 fixtures
功能
在测试和 fixtures 中冻结时间
在需要时访问 freezer
安装
您可以通过 pip 从 PyPI 安装“pytest-freezegun”
$ pip install pytest-freezegun
使用方法
使用 freezer fixtures 冻结时间
def test_frozen_date(freezer): now = datetime.now() time.sleep(1) later = datetime.now() assert now == later
这可以用来移动时间
def test_moving_date(freezer): now = datetime.now() freezer.move_to('2017-05-20') later = datetime.now() assert now != later
您还可以通过使用 freeze_time 标记来传递 freezegun 的参数
@pytest.mark.freeze_time('2017-05-21') def test_current_date(): assert date.today() == date(2017, 5, 21)
您可以将 freezer fixtures 和 freeze_time 标记一起使用,并且它们可以与其他 fixtures 一起工作
@pytest.fixture def current_date(): return date.today() @pytest.mark.freeze_time def test_changing_date(current_date, freezer): freezer.move_to('2017-05-20') assert current_date == date(2017, 5, 20) freezer.move_to('2017-05-21') assert current_date == date(2017, 5, 21)
它们也可以用于基于类的测试
class TestDate: @pytest.mark.freeze_time def test_changing_date(self, current_date, freezer): freezer.move_to('2017-05-20') assert current_date == date(2017, 5, 20) freezer.move_to('2017-05-21') assert current_date == date(2017, 5, 21)
贡献
我们非常欢迎贡献。可以使用 tox 运行测试。之后,您可以使用 coverage combine && coverage html 检查覆盖率。请在提交拉取请求之前尽量保持覆盖率不变。
许可证
根据MIT许可证分发,“pytest-freezegun”是免费和开源软件
问题
如果您遇到任何问题,请提交问题,并提供详细描述。
致谢
此Pytest插件是用Cookiecutter以及@hackebrot的Cookiecutter-pytest-plugin模板生成的。
项目详情
关闭
pytest-freezegun-0.4.2.zip的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 19c82d5633751bf3ec92caa481fb5cffaac1787bd485f0df6436fd6242176949 |
|
MD5 | ab9915f280a4e37fafc118af1311cc41 |
|
BLAKE2b-256 | f0e3c39d7c3d3afef5652f19323f3483267d7e6b0d9911c3867e10d6e2d3c9ae |
关闭
pytest_freezegun-0.4.2-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5318a6bfb8ba4b709c8471c94d0033113877b3ee02da5bfcd917c1889cde99a7 |
|
MD5 | 2011ef4ce8fea964e6ca9ef3b6c41d4f |
|
BLAKE2b-256 | 9e090bdd7d24b9d21453ad3364ae1efbd65082045bb6081b5fd5eade91a9b644 |