Я бы сказал, что эти две стратегии - две разные вещи.
Как вы сами сказали, с помощью in-memory db вы также можете тестировать свои репозитории, однако сначала вы должны протестировать свои репозитории, чтобы достичь разделения интересов. Когда вы проектируете свою систему, возможно, в соответствии с MVC, вы хотите, чтобы ваши контроллеры были перед моделями / репозиториями, потому что сначала вы должны решить, что вы хотите сделать, а после этого решить, какие объекты будут совместно достигать этой цели. Поэтому, возможно, лучше сначала создать контроллеры и макетные репозитории, а затем вы можете протестировать свои репозитории, используя базу данных в памяти, если ее действительно легко настроить.