assertEquals vs. assertEqual in python

python, unit-testing

Solution

Actually, in Python 2.6, both `assertEqual` and `assertEquals` are convenience aliases to `failUnlessEqual`. The source declares them thus:

# Synonyms for assertion methods
assertEqual = assertEquals = failUnlessEqual

In Python 3, to your point, `failUnlessEqual` is explicitly deprecated. `assertEquals` carries this comment :-)

# Synonyms for assertion methods
# The plurals are undocumented.  Keep them that way to discourage use.
# Do not add more.  Do not remove.
# Going through a deprecation cycle on these would annoy many people.

So, the upshot appears to be that you should use whatever you like for Python 2.x, but tend toward `assertEqual` for Python 3.

Problem

Is there a difference between `assertEquals` and `assertEqual` in the python `unittest.TestCase`? And if there is not, why are there two functions? Only for convenience?

Original source