Нашел, проблема в том, что этот метод вызывается при присоединении вью к презентеру, а затем, он должен вызываться в случае если данные изменились. т.е. в данном случае двойной вызов корректен, потому что вью у меня присоединяется в @Before
А можно еще вопрос? Я импользую даггер. Раньше у меня презентер инжектил свои поля прямо в конструкторе, и потом еще с некоторыми из полей работал, в частности подписывался на репозиторий.
Теперь, дабы сделать код тестируемым, я убрал инжект из конструктора, и делаю его после создания объекта презентера, а остальную работу вынес в отдельный метод initialise который вызываю после инжекта.
т.е. у меня в презентере есть репозиторий, аннотированный @Inject. В конструкторе презентера делается инжект этого репозитория: MainApp.getComponent().injectPresenter(this);