Here's the section of PEP8 that describes how function names should be:
Function names should be lowercase, with words separated by underscores as necessary to improve readability.
mixedCase is allowed only in contexts where that's already the prevailing style
Why didn't they change the function names? This is especially relevant for Python 3 where backwards compatibility was not maintained.
From unittest2 website:
Its a bit confusing as from a version 2 is not expected to be a backport, but a new major release with (probably) new features. Anyway, the main idea is creating a backport where all the user has to do is changing the import statement. For this they could not change their method signatures
Also, from unittest website:
So this explains the whole resemblance between the frameworks and probably the camel case notation