Почему методы unittest2 являются camelCase, если names_with_underscores являются предпочтительными?

Здесь раздел PEP8, который описывает, как имена функций должны быть:

Названия функций должны быть строчными, со словами, разделенными подчеркивает необходимость повышения удобочитаемости.

mixedCase разрешается только в контекстах, где уже преобладает стиль

Почему они не меняли имена функций? Это особенно актуально для Python 3, где обратная совместимость не поддерживалась.

Ответы

Ответ 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 фреймворк. Каждый из них представляет собой стандартную единую систему тестирования де-факто для его соответствующий язык.

Таким образом, это объясняет все сходство между структурами и, возможно, нотацию верблюда