Ответ 1
Из сайта unittest2:
unittest2 - это резерв новых функций, добавленных в unittest среда тестирования в Python 2.7. Он протестирован для запуска на Python 2.4 - 2.7.
Чтобы использовать unittest2 вместо unittest, просто замените import unittest с импортом unittest2.
Его немного запутывает, поскольку из версии 2 не ожидается backport, а новая крупная версия с (возможно) новыми функциями. Во всяком случае, основная идея заключается в создании резервной копии, где все, что нужно пользователю, - это изменение оператора импорта. Для этого они не могли изменить свои сигнатуры методов
Кроме того, из сайта unittest:
Структура модульного тестирования Python, иногда называемая "PyUnit", представляет собой версию языка JUnit на языке Python, Кент Бек и Эрих Гамма. JUnit - это, в свою очередь, Java-версия теста Kents Smalltalk фреймворк. Каждый из них представляет собой стандартную единую систему тестирования де-факто для его соответствующий язык.
Таким образом, это объясняет все сходство между структурами и, возможно, нотацию верблюда