Вы должны шпионить за service.serviceMsg
, а не service
, потому что next()
метод, кажется, для serviceMsg
субъекта.
it('should catch what is emitted', () => {
const nextSpy = spyOn(service.serviceMsg, 'next');
service.confirm(ACTION);
expect(nextSpy).toHaveBeenCalled();
});
РЕДАКТИРОВАТЬ:
Вам также следует изменить способ создания экземпляра service
. То, что вы показываете в своем коде, применимо только для component
создания экземпляра
beforeEach(() => {
TestBed.configureTestingModule({
providers: [MessageService]
});
service = TestBed.get(MessageService); // get service instance
httpMock = TestBed.get(HttpTestingController);
});