如何将Karma应用到实际的Angular2项目中?

时间:2017-02-15 19:52:03

标签: angular karma-runner

当我尝试将Karma集成到Angular2项目中时,我找到了以下示例并了解了Karma想要完成的内容。 但是,我对如何将其应用到实际项目中有点困惑。为了计算正在渲染的元素的数量,所呈现的示例在统计上设置数字。 我不认为我可以在实际应用程序中以这种方式测试它。根据我的理解,我需要与后端的响应合作。 我试图找到一些适用的例子,但是,我找不到它。如果有人有经验,你能提出一些建议吗?

// App
import { Component, Input } from '@angular/core';

@Component({
  selector: 'list',
  template: '<span *ngFor="let user of users">{{ user }}</span>',
})
export class ListComponent {
  @Input() public users: Array<string> = [];
}


// App tests
import { async, inject, TestBed } from '@angular/core/testing';

import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';

TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());


describe('ListComponent', () => {

  beforeEach(() => {
    TestBed.configureTestingModule({
      declarations: [ListComponent]
    });

    this.fixture = TestBed.createComponent(ListComponent);
  });

  it('should render list', async(() => {
    const element = this.fixture.nativeElement;
    this.fixture.componentInstance.users = ['John'];
    this.fixture.detectChanges();
    expect(element.querySelectorAll('span').length).toBe(1);
  }));

});

0 个答案:

没有答案