Python 支持哪些拼写错误/打字错误?
不是诸如 is_dir
与 isdir
之类的替代拼写,也不是 color
与 colour
之类的替代拼写,而是实际上拼写错误的别名,例如 property
用于 property
(不受支持)。
最佳答案
自 Python 3.5 beta 3 起 unittest.mock对象现在支持 assret
代表assert
-- 注意这不是关键字 assert
, 但匹配正则表达式 assert.*
的模拟对象的任何属性或 assret.*
.
一些解释:
创建模拟对象时,任何属性访问的默认设置都是返回一个新的 Mock
, 除了一种情况:如果属性是 assert_called_with
之一, assert_called_once_with
, assert_any_call
, assert_has_calls
, 和 assert_not_called
,在这种情况下,实际会运行一些代码。
问题是如果忘记了确切的名称并使用,例如 assert_called
,然后不是运行代码来检查模拟是否被调用,而是返回一个新的模拟,并且编写的测试通过而不是实际进行测试并可能失败。
解决这个问题 Mock
现在提出一个AttributeError
如果对以 assert
开头的属性进行任何访问.
此外assert
, Mock
还将提出 AttributeError
如果对以 assret
开头的属性进行任何访问.
如果不想要额外的保护(对于 assert
和 assret
),可以使用 unsafe=True
创建 Mock
时.
关于python - Python 支持哪些拼写错误/拼写错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31546628/