【发布时间】:2019-10-10 00:36:30
【问题描述】:
在运行测试用例时会抛出此错误。 几乎添加了所有必需的组件和服务以及其他依赖项,尽管它在 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();
});
});
【问题讨论】:
-
我们需要您的组件和模块代码来帮助您。请提供minimal reproducible example。
-
Broadcaster 是您使用该名称或某种名称创建的服务吗?我找不到任何具有该名称的 Angular 参考表单。
-
@GonzaloMuro:是的,我提供了这项服务,我得到了解决方案,感谢您的关注。
标签: angular jasmine karma-jasmine angular7 testcase