当我尝试将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);
}));
});