В большинстве случаев вы видите, что MSTests запускает сервер разработки ASP.NET каждый раз, когда вы хотите запустить хотя бы один тест.
Я храню как можно большую часть своего приложения в отдельных библиотеках за пределами моего приложения ASP.NET, чтобы их можно было независимо тестировать. Это позволяет избежать попадания, которое происходит при запуске сервера разработки ASP.NET во время модульного тестирования.
При издевательстве над контроллерами я не вижу причины, по которой вы не можете удалить атрибуты, которые говорят системе тестирования запустить сервер разработки. В конце концов, разве не цель насмешки убрать «внешние» компоненты?
Точно так же вся цель использования репозиториев для ваших моделей заключается в том, чтобы вы могли вводить имитирующие объекты для тестирования. Эти тесты также не нуждаются в сервере разработки.
Что касается представлений, я бы не стал писать для них модульные тесты. Сохраняйте их максимально тонкими и проверяйте их вручную путем визуального осмотра.
Может быть включен другой набор тестов для ваших моделей и контроллеров, которые включают сервер разработки ASP.NET. Эти тесты будут частью вашего набора интеграционных тестов.