[英]How to run unit test case for toast message in angular service?
[英]Unable to run unit test case for toast message in angular
嗨,我正在用角度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();
}));
這給我錯誤
還沒有初始化烤面包機容器來接收烤面包。
我在下面添加了屏幕截圖。
有人可以幫我解決問題嗎? 任何幫助,將不勝感激。 謝謝
創建間諜以檢查烤面包機服務。
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);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.