В превосходном репозитории Vojta Jina, где он демонстрирует тестирование директив, он определяет директивный контроллер вне оболочки модуля. Глянь сюда: https://github.com/vojtajina/ng-directive-testing/blob/master/js/tabs.js
Разве это не плохая практика и не загрязняет глобальное пространство имен?
Если бы у кого-то было другое место, где было бы логично вызвать что-то TabsController, разве это не перерыв?
Тесты для указанной директивы можно найти здесь: https://github.com/vojtajina/ng-directive-testing/commit/test-controller
Можно ли тестировать контроллеры директив отдельно от остальной части директивы, не помещая контроллер в глобальное пространство имен?
Было бы неплохо инкапсулировать всю директиву в определение app.directive(...).