В Moq, как и во всех инфраструктурах модульного тестирования, не должно быть много понятия n-уровня.
Как правило, можно использовать модульное тестирование для тестирования каждого отдельного класса по одному. Когда конкретный класс немного более сложен и полагается на наличие ссылок на классы компонентов и вызов методов для этих классов компонентов, можно использовать фиктивную среду, такую как Moq, для создания этих составляющих компонентов и использования тестируемого класса эти насмешливые компоненты вместо реальных сделок.
Похоже, вы ищете, как использовать Moq в интеграционном тестировании, где вы объединяете все компоненты и тестируете весь shebang одновременно, включая компоненты доступа к данным. Для выполнения тестов всего Шебанга, как правило, вам нужны реальные компоненты, а не проверенные версии.