Python支持哪些拼写错误/拼写错误?

时间:2015-07-21 18:13:45

标签: python python-3.x

Python支持哪些拼写错误/拼写错误?

不是替代拼写,例如is_dir vs isdir,也不是color vs colour,而是实际错误拼写的别名,例如proprety property }(不支持)。

1 个答案:

答案 0 :(得分:8)

从Python 3.5 beta 3开始,unittest.mock对象现在支持assret代表assert - 请注意,这不是关键字assert,而是任何属性与正则表达式assert.*assret.*匹配的模拟对象。

一些解释:

创建模拟对象时,任何属性访问的默认值都是返回新的Mock,但有一种情况除外:如果属性是assert_called_withassert_called_once_with之一,{ {1}},assert_any_callassert_has_calls,在这种情况下实际运行了一些代码。

问题是如果忘记了确切的名称并使用,例如assert_not_called,那么代替运行的代码来检查模拟是否被调用,而是返回一个新的模拟,而是测试一个实际进行测试并可能失败。

要解决此问题,assert_called现在会引发Mock,如果对以AttributeError开头的属性进行了访问。

除了assert,如果对以assert开头的属性进行访问,Mock也会引发AttributeError

如果您不想要额外保护(assretassert),则可以在创建assret时使用unsafe=True