при запуске тестовых случаев выдает эту ошибку. Почти добавлены все необходимые компоненты и службы и другие зависимости, хотя при запуске тестовых случаев в Angular и
Error: StaticInjectorError(DynamicTestModule)[Broadcaster]:
StaticInjectorError(Platform: core)[Broadcaster]:
NullInjectorError: No provider for Broadcaster!
это код спецфайла
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();
});
});
Является ли Broadcaster сервисом, который вы создали с таким названием или каким-то другим? Я не смог найти ни одной ссылочной формы Angular с таким именем.
@GonzaloMuro: да, я сделал эту услугу, у меня есть решение, спасибо за беспокойство.
Это может быть ключевая фраза: "Нет провайдера для вещателя!". Я полагаю, вам следует добавить Broadcaster в массив «providers» в файле «AppModule».
@NgModule({
declarations: [
...
],
imports: [
...
],
providers: [
...
Broadcaster,
...
],
bootstrap: [
AppComponent
]
Обновлять: Может быть, вы можете проверить документ здесь, если вы используете этот сервис: https://github.com/ranbuch/ng-broadcaster
можно подробнее? и дайте синтаксис, пожалуйста?
Я не знаю, как сказать по-другому - не знаком с тестированием Angular. Служба Broadcaster должна быть добавлена в массив «providers» в основном файле «.module.ts» вашего приложения (или модуля).
Нам нужен ваш код компонента и модуля, чтобы помочь вам. Укажите минимальный воспроизводимый пример.