Не совсем ясен вопрос, если хотите затестить UserRepository скройте контекст за интерфейсом и напишите мок.
Затем можно эмулировать "плохое" поведение объекта(контекста), и на основе этого расширять логику репозитория. Ситуация аналогична UserSvc собственно которую Вы и описали (я должен замокать IUserRepository, что бы тестировать чисто сервис. ).
На начальном этапе, порекомендовал бы Вам самому писать моки, затем пользоваться различными фреймворками.