Ну, поскольку я не вижу здесь много ответов, я постараюсь добавить свои 2цента (возможно, спорный).
Ответ, написанный ниже, является моим IHMO и очень субъективен (и я думаю, что он не очень полезен, но мы все равно поехали)
Я думаю, что контроллеры не подходят для тестирования юнитов. Слой вашей бизнес-логики, модели и т. Д. - это то, что является нестабильным.
Контроллеры связаны с пользовательским интерфейсом и, так сказать, объединяют систему - следовательно, для меня они лучше подходят для интеграции и тестирования пользовательского интерфейса - для чего используются такие пакеты, как Selenium.
На мой взгляд, тестирование должно быть достаточно простым для реализации, чтобы общие усилия по тестированию реализации были адекватны его результатам. Соединение всех зависимостей для контроллера кажется мне (с моими ограниченными знаниями, конечно) слишком сложной задачей.
Другой способ думать об этом - то, что на самом деле происходит в ваших контроллерах. Опять же, IHMO - это должен быть, прежде всего, связующий уровень между вашей бизнес-логикой и вашим пользовательским интерфейсом. Если вы помещаете много бизнес-логики в контроллер, это будет иметь неблагоприятные последствия (например, это будет нелегко объединить ...).
Это, конечно, всякая теория. Надеюсь, кто-нибудь может дать лучший ответ и показать, как легко подключить контроллер для юнит-тестов!