Тестовый пример Angular 7 выдает ошибку вещателя

при запуске тестовых случаев выдает эту ошибку. Почти добавлены все необходимые компоненты и службы и другие зависимости, хотя при запуске тестовых случаев в Angular и

Error: StaticInjectorError(DynamicTestModule)[Broadcaster]: 
  StaticInjectorError(Platform: core)[Broadcaster]: 
    NullInjectorError: No provider for Broadcaster!

Тестовый пример Angular 7 выдает ошибку вещателя

это код спецфайла

import {async, ComponentFixture, TestBed} from '@angular/core/testing';
import {HttpClientModule} from '@angular/common/http';
import {RouterModule, Routes} from '@angular/router';
import { FormsModule } from '@angular/forms';
import {APP_BASE_HREF} from '@angular/common';


import {CustomiseMenuComponent} from './customise-menu.component';

describe('CustomiseMenuComponent', () => {
    let component: CustomiseMenuComponent;
    let fixture: ComponentFixture<CustomiseMenuComponent>;

    const appRoutes: Routes = [
        {path: 'designs', component: CustomiseMenuComponent}
    ];

    beforeEach(async(() => {
        TestBed.configureTestingModule({
            declarations: [
                CustomiseMenuComponent,
            ],
            imports: [
                FormsModule,
                HttpClientModule,
                RouterModule.forRoot(appRoutes)
            ],
            providers: [
                {provide: APP_BASE_HREF, useValue : '/' }
            ]
        }).compileComponents();
    }));

    beforeEach(() => {
        fixture = TestBed.createComponent(CustomiseMenuComponent);
        component = fixture.componentInstance;
        fixture.detectChanges();
    });

    it('should create', () => {
        expect(component).toBeTruthy();
    });
});

Нам нужен ваш код компонента и модуля, чтобы помочь вам. Укажите минимальный воспроизводимый пример.

user4676340 23.05.2019 14:26

Является ли Broadcaster сервисом, который вы создали с таким названием или каким-то другим? Я не смог найти ни одной ссылочной формы Angular с таким именем.

Gonzalo Muro 23.05.2019 21:23

@GonzaloMuro: да, я сделал эту услугу, у меня есть решение, спасибо за беспокойство.

Dr. Piyush Dholariya 24.05.2019 05:48
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
3
173
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это может быть ключевая фраза: "Нет провайдера для вещателя!". Я полагаю, вам следует добавить Broadcaster в массив «providers» в файле «AppModule».

@NgModule({
  declarations: [
    ...
  ],
  imports: [
    ...
  ],
  providers: [
    ...
    Broadcaster,
    ...
  ],
  bootstrap: [
    AppComponent
  ]

Обновлять: Может быть, вы можете проверить документ здесь, если вы используете этот сервис: https://github.com/ranbuch/ng-broadcaster

Broadcater - Error Suggestion

можно подробнее? и дайте синтаксис, пожалуйста?

Dr. Piyush Dholariya 23.05.2019 14:28

Я не знаю, как сказать по-другому - не знаком с тестированием Angular. Служба Broadcaster должна быть добавлена ​​в массив «providers» в основном файле «.module.ts» вашего приложения (или модуля).

Hunor 23.05.2019 14:40

Другие вопросы по теме