你好,我正在开发角形5的web应用程序。我正在使用吐司信息来显示信息。我正在使用来自https://www.npmjs.com/package/angular2-toaster的祝酒词。实施正确,运行良好。我面临着编写单元测试用例的问题。下面是我在组件中的实现。我在组件中添加了下面的代码行。
import { ToasterModule, ToasterService } from 'angular2-toaster';我在构造函数中添加了下面的代码。
private toasterService: ToasterService下面是祝酒词。
this.toasterService.pop('success', 'Args Title', 'Args Body');我在HTML文件中添加了下面的代码。
<toaster-container></toaster-container>此实现工作正常。我正在编写单元测试用例,如下所示。
describe('Component: TenantEditorComponent', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [
HttpClientModule,
RouterTestingModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useClass: TranslateLanguageLoader
}
}),
NgxDatatableModule,
FormsModule,
UiSwitchModule,
TooltipModule.forRoot(),
ModalModule.forRoot(),
ToasterModule
],
providers: [ ToasterService ]
}).compileComponents();
fixture = TestBed.createComponent(TenantEditorComponent);
component = fixture.componentInstance;
submitEl = fixture.debugElement;
fixture.detectChanges();
}));这让我犯了错误
未初始化任何烤面包容器以接收祝酒词。
我在下面添加了截图。

有人能帮我解决这个问题吗?任何帮助都将不胜感激。谢谢
发布于 2019-01-30 18:11:11
创建间谍检查吐司服务。
describe('Component: TenantEditorComponent', () => {
let toasterServiceSpy: jasmine.Spy;
const toasterSetvices = jasmine.createSpyObj('toasterSetvices', ['pop']);
toasterServiceSpy = toasterSetvices.pop.and.returnValue(of(''));
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [
HttpClientModule,
RouterTestingModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useClass: TranslateLanguageLoader
}
}),
NgxDatatableModule,
FormsModule,
UiSwitchModule,
TooltipModule.forRoot(),
ModalModule.forRoot(),
ToasterModule
],
providers: [ {provide: ToasterService, useValue: toasterSetvices } ]
}).compileComponents();
fixture = TestBed.createComponent(TenantEditorComponent);
component = fixture.componentInstance;
submitEl = fixture.debugElement;
fixture.detectChanges();
}));
it('Hit the Login Button', () => {
const fixtureInstance = TestBed.createComponent<LoginComponent>
(LoginComponent);
const toasterServiceInstance =
fixtureInstance.componentInstance.toasterService;
fixtureInstance.detectChanges();
component.submit();
expect(toasterServiceSpy.calls.any()).toBe(true);
});https://stackoverflow.com/questions/52945073
复制相似问题