Тест Jasmine Marbles, который я пишу, вызывает Observable один раз для каждого элемента в массиве, когда я хочу, чтобы он вызывал Observable один раз и передавал весь массив.
Это тестовый код;
it('sends an action when fetching the conversion list', () => {
const service_response = [CONVERSION_1, CONVERSION_2];
const action = new ConversionActions.ConversionFetchList({ timestamp: 0 });
const outcome = new ConversionActions.ConversionUpdatesReceived({ items: service_response });
actions = hot('-(a|)', { a: action });
const response = cold('-a|', { a: service_response });
conversion_service.get_conversions.and.returnValue(service_response);
const expected = cold('--b', { b: outcome });
expect(effects.conversion_fetch_list$)
.toBeObservable(expected);
});
В отладке я вижу, как наблюдаемый вызывается дважды: один раз для CONVERSION_1 и другой раз для CONVERSION_2. Но для этого нужно один раз вызвать наблюдателя с массивом преобразований.