РЕДАКТИРОВАТЬ :
Исходя из вашего комментария, я не думаю, что проблема в самом методе.Если проблема возникает только в тестах, то кажется, что this.service
имеет какое-то другое значение, отличное от фактического сервиса (но не undefined
, поскольку ошибка будет " Невозможно прочитать свойство method
из неопределенного . ")
Старый неточный ответ
Боюсь, вы не предоставили полный код метода обслуживания.Я чувствую, что может быть условие внутри, и когда вы создаете экземпляр Observable
, this.service.method
getter возвращает null
или undefined
.Причина в синхронном характере при создании оператора - метод получения, который возвращает функцию get, вызывается в тот момент, когда вызывается map(this.service.method)
, то есть немедленно.Только функция, указанная для map
в качестве параметра, будет вызываться асинхронно при возникновении наблюдаемых срабатываний.
Если я прав, то единственный способ выполнить эту работу - это способ, который вы уже упоминали.
map((data) => this.service.method(data))