跳转到主要内容

辅助进行等价性测试的工具。

项目描述

Travis Test Status

此包处于预alpha阶段。API可能发生变化。

当比较此类字典结构时

assert actual == {
    'id': 123,
    'created': "2017-11-10T23:59:58",
    'field1': 1,
    ...
}

这会失败,因为每次测试运行时‘id’和‘created’都不同。使用以下方法修复此问题

assert actual == {
    'id': AnyInt(),
    'created': AnyTimestamp(datetime.now(), seconds=3),
    'field1': 1,
    ...
}

AnyInt与任何整数相等。 Timestamp与给定秒数内的字符串时间戳相等。

兼容性

Python 3.6和2.7。

已知问题

如果时间戳是在本地、进程内生成的,那么更容易修改datetime.now()。但如果这是一个端到端测试,它触发了其他服务,那么这可能不是选项之一。那时我发现AnyTimestamp很有用。

这些都是最新的,毫无疑问充满了错误。

替代方案

这无疑重复了其他地方更好的工作。特别是包‘equals’看起来非常不错,但它缺少了‘equality’的核心功能,即字符串时间戳的近似比较。

联系方式

贡献者源和问题:https://github.com/tartley/equality/
作者:Jonathan Hartley,电子邮件:tartley at domain tartley.com,Twitter:@tartley。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定该选择哪个,请了解更多关于安装包的信息。

源分布

equality-0.1.1.tar.gz (4.6 kB 查看哈希值)

上传时间

构建分布

equality-0.1.1-py2.py3-none-any.whl (5.0 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持