Jan*_*usz 161 python unit-testing
蟒蛇assertEquals和assertEqual蟒蛇之间有区别unittest.TestCase吗?
如果没有,为什么有两个功能?仅为方便起见?
Jar*_*die 180
好问题!
实际上,在Python 2.6,两者assertEqual并assertEquals有方便的别名failUnlessEqual.来源声明他们:
# Synonyms for assertion methods
assertEqual = assertEquals = failUnlessEqual
Run Code Online (Sandbox Code Playgroud)
在Python 3中,您failUnlessEqual可以明确地弃用.assertEquals带有这个评论:-)
#ssutrtion方法的同义词
#复数是无证件的.让他们这样做以阻止使用.
#不要添加更多.不要删除.
#在这些问题上经历一个弃用周期会让很多人感到烦恼.
所以,结果似乎是你应该使用你喜欢的任何Python 2.x,但倾向于assertEqualPython 3.
Mat*_*ell 36
3.3更新:从26.3.7.1.1开始.不推荐使用的别名:
由于历史原因,某些TestCase方法有一个或多个现已弃用的别名.下表列出了正确的名称及其弃用的别名:
Method Name | Deprecated alias | Deprecated alias
--------------+------------------+-----------------
assertEqual() | failUnlessEqual | assertEquals
...
Run Code Online (Sandbox Code Playgroud)
小智 16
不只是Python 3.x,因为Python 2.7 assertEquals也被弃用了:
Method Name | Deprecated alias(es)
_________________________________________________________
assertEqual() | failUnlessEqual, assertEquals
Run Code Online (Sandbox Code Playgroud)
我认为这是“唯一一种明显的方法”与“使整个代码在语义上流动的别名”之间的紧张关系。我个人发现我喜欢阅读
failIf(some_condition)
Run Code Online (Sandbox Code Playgroud)
超过
assertFalse(some_condition)
Run Code Online (Sandbox Code Playgroud)
但喜欢
assertEqual(a, b)
Run Code Online (Sandbox Code Playgroud)
在其他两个(assertEquals(a, b)打扰我的语法感)。
“唯一一种明显的方法”已经优先考虑。
| 归档时间: |
|
| 查看次数: |
51134 次 |
| 最近记录: |