testvars - 复杂断言中的占位符
项目描述
testvars - 复杂断言中的占位符
有时,在编写测试时,您可能需要断言测试中计算出的数据结构符合某些预期值,但预期值可能包含一些无法提前预测的组件,例如时间或生成的ID。在这种情况下,您可以选择以下选项:
将断言分解成关于数据结构各个部分的多个断言。
使用模拟/存根来控制时间、ID等无法预测的部分,使其可预测。
这两种方法通常都很繁琐,并且可能存在错误。
小巧的testvars包提供了许多情况下更易于使用的替代方案。该包提供了一个Vars类
>>> import testvars >>> vars = testvars.Vars()
当Vars属性第一次比较相等时,比较成功并设置其值
>>> vars.x == 1 True
此时,值已设置,您可以对此进行断言
>>> vars.x 1 >>> vars.x > 0 True
进一步的比较是对此设置的值进行比较
>>> vars.x == 2 False
这在处理具有不可预测部分的数据结构时非常有用
>>> expected = {'id': vars.child_id, 'name':"Alex"} >>> {'id': 32, 'name':"Alex"} == expected True
当您不知道值是什么时,您还可以断言值之间的关系
>>> expected = {'id': vars.parent_id, 'name':'Cas', ... 'children': [vars.child_id]} >>> expected == {'id': 42, 'name':'Cas', 'children':[32]} True >>> expected == {'id': 42, 'name':'Cas', 'children':[33]} False>>> [vars.y, 2, 3, vars.y] == [9, 2, 3, 9] True>>> [vars.z, 2, 3, vars.z] == [8, 2, 3, 9] False
更改
1.0.0 (2017-07-07)
初始发布
项目详情
关闭
testvars-1.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ce3c6bfae70b7be4f96a6b659958a242ac1fa7ac079d97b27693f31591da868e |
|
MD5 | 275329b37a2b6a59223225b0dfcf9921 |
|
BLAKE2b-256 | eeba8d21aa805bdb7ae8801a0debba66af0dab741a35521bbffefa0b5a635542 |