Eu testaria fazendo mocks utilizando o MagicMoq, framework de mocking/stubing/blabla que eu mesmo "fiz". Ele é basicamente uma mistura do Moq com um container de inversão de controle - ele utiliza internamente o Moq, e até mesmo o expõe caso necessário.
A ideia é basicamente delegar para ele a responsabilidade de criar quem você quer testar, e ele se encarrega de criar e injetar todas as dependencias como Mocks do Moq. Eu ainda não fiz um readme explicando como utiliza-lo, mas da para ter uma boa ideia através dos testes cobrindo a funcionalidade basica:
[]s