python unittest.TestCase中的assertEquals和assertEqual之间有区别吗?
如果没有,为什么有两个函数?只是为了方便?
python unittest.TestCase中的assertEquals和assertEqual之间有区别吗?
如果没有,为什么有两个函数?只是为了方便?
当前回答
3.3更新:从26.3.7.1.1开始。不推荐使用的别名:
由于历史原因,一些TestCase方法有一个或多个别名,现在已弃用。下表列出了正确的名称及其不推荐使用的别名:
Method Name | Deprecated alias | Deprecated alias
--------------+------------------+-----------------
assertEqual() | failUnlessEqual | assertEquals
...
其他回答
我认为这是“只有一种明显的方法”和“只有一种明显的方法”之间的紧张关系。“别名使整个代码语义化”。就我个人而言,我喜欢阅读
failIf(some_condition)
在
assertFalse(some_condition)
但是很喜欢
assertEqual(a, b)
而不是其他两个(assertEquals(a, b)困扰我的语法感)。
“只有一种明显的方法可以做到这一点”已经优先于未来。
不仅仅是Python 3。由于Python 2.7的assertEquals也已弃用:
Method Name | Deprecated alias(es)
_________________________________________________________
assertEqual() | failUnlessEqual, assertEquals
从25.3.7.1.1。弃用别名
我没有发现任何提到assertEquals在http://docs.python.org/library/unittest.html。然而,当我导入TestCase并执行“帮助(TestCase)”时,它会被列出。我认为这只是方便的同义词。
我知道它没有回答具体的问题,但如果你在这里搜索:
using deprecated method assertEquals()
您只需要将调用更改为.assertEqual()(删除equalS中的's')
3.3更新:从26.3.7.1.1开始。不推荐使用的别名:
由于历史原因,一些TestCase方法有一个或多个别名,现在已弃用。下表列出了正确的名称及其不推荐使用的别名:
Method Name | Deprecated alias | Deprecated alias
--------------+------------------+-----------------
assertEqual() | failUnlessEqual | assertEquals
...