【发布时间】:2021-05-12 17:07:29
【问题描述】:
我想测试我是否收到了一组人。我需要测试我是否总是得到相同类型的响应,因此如果从后端更改对象,我可以检测到它。
我的界面:
export interface People {
peopleDtos: [{
id: number,
name: String,
surname: String
from: String,
tel: String
}],
page: number,
size: number;
total: number;
order: String;
}
我的组件:
export class PeopleComponent implements OnInit {
private people: People[];
constructor(private peopleService: peopleService) {
}
ngOnInit() {
this.fetchPeople();
}
fetchPeople(): void {
this.peopleService.getPeople().subscribe(response => {
this.people = response;
});
}
}
我的规范文件:
import 'zone.js/dist/zone-testing';
import { async, TestBed, ComponentFixture, inject } from '@angular/core/testing';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { PeopleService } from "../../services/people.service";
import {of} from 'rxjs/observable/of';
describe("PeopleComponent", () => {
let component: DocumentoAudienciaComponent;
let fixture: ComponentFixture<PeopleComponent >;
let peopleService: PeopleService;
beforeEach(async(() => {
TestBed.resetTestEnvironment();
TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
TestBed.configureTestingModule({
declarations: [
PeopleComponent
],
providers: [
PeopleService
],
imports: [HttpModule]
}).compileComponents();
}));
beforeEach(inject([UserService], s => {
peopleService = s;
fixture = TestBed.createComponent(HomeComponent);
homeComponent = fixture.componentInstance;
element = fixture.nativeElement;
}));
it('Should fetch people and return list of people', async(() => {
let response: People;
spyOn(peopleService, 'getPeople').and.returnValue(of(response));
component.fetchPeople();
fixture.detectChanges();
expect(component.fetchPeople).toEqual(response);
}));
测试不成功,我得到这个错误:
失败:无法读取未定义的属性“顺序”
【问题讨论】:
标签: angular karma-jasmine