Возможно, это немного новый вопрос JQuery, но:
- правильные плагины jquery записываются внутри закрытия
- таким образом, только методы, определяющие интерфейс плагина, доступны снаружи
- иногда (или много раз) могут потребоваться вспомогательные методы, которые не имеют смысла раскрывать как часть интерфейса плагина (например, потому что они изменяют внутреннее состояние).
- Как те, кто получает модульное тестирование?
Например, глядя на blockUI плагин, как можно установить методы, удалить, reset получить модульное тестирование?
Чтобы нарисовать параллель, в Java я бы:
- создать интерфейс BlockUI, содержащий только общедоступные методы (по определению)
- создать класс BlockUIImpl, реализующий вышеуказанный интерфейс. Этот класс будет содержать методы install(), remove(), reset(), которые могут быть общедоступными или (пакетными) защищенными
Итак, я бы тестировал Impl, но клиентские программисты могли бы взаимодействовать с плагином через интерфейс BlockUI.