Выберите ваш фреймворк для тестирования - я рекомендую xUnit.net .
Разделите ваши классы, используя интерфейсы, и используйте инжектор конструктора в ваших контроллерах, чтобы удовлетворить зависимости. В своих тестах передавайте макеты на контроллеры с помощью фреймворка - я рекомендую MoQ .
При запуске веб-сайта, а не тестов, либо используйте конструкторы по умолчанию на ваших контроллерах, которые вызывают другие конструкторы и передают ваши реальные реализации ваших интерфейсов; или используйте контейнер Dependency Injection (DI), чтобы сделать это автоматически - я рекомендую StructureMap .
Надеюсь, это поможет.