Хорошее чтение. Пара моментов.

Вы можете отказаться от контекста, если вы только тестируете код Java, и запускаете его как чистый тест JUnit, это намного быстрее, поскольку он работает на JVM, а не на устройстве для InstrumentionTests. Это было недавно введено в Android Studio, чтобы упростить эту задачу :-)

Шпион также будет называться Частичным макетом в других фреймворках, настоящим, если он не является макетом. Я не знаю, почему Mockito называет это по-другому.