首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法运行元测试用例中的土司消息角

无法运行元测试用例中的土司消息角
EN

Stack Overflow用户
提问于 2018-10-23 08:59:22
回答 1查看 3.5K关注 0票数 0

你好,我正在开发角形5的web应用程序。我正在使用吐司信息来显示信息。我正在使用来自https://www.npmjs.com/package/angular2-toaster的祝酒词。实施正确,运行良好。我面临着编写单元测试用例的问题。下面是我在组件中的实现。我在组件中添加了下面的代码行。

代码语言:javascript
复制
import { ToasterModule, ToasterService } from 'angular2-toaster';

我在构造函数中添加了下面的代码。

代码语言:javascript
复制
private toasterService: ToasterService

下面是祝酒词。

代码语言:javascript
复制
this.toasterService.pop('success', 'Args Title', 'Args Body');

我在HTML文件中添加了下面的代码。

代码语言:javascript
复制
<toaster-container></toaster-container>

此实现工作正常。我正在编写单元测试用例,如下所示。

代码语言:javascript
复制
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();
    }));

这让我犯了错误

未初始化任何烤面包容器以接收祝酒词。

我在下面添加了截图。

有人能帮我解决这个问题吗?任何帮助都将不胜感激。谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-01-30 18:11:11

创建间谍检查吐司服务。

代码语言:javascript
复制
     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);

  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52945073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档