Я запускаю тест на угловое приложение.Я высмеял http get call и покраснел от dummydata.Я ожидаю, что переменная, которая ожидает, что эти dummydata будут определены, или напечатает эту переменную.Я вижу, это не определено.Надеюсь, что фрагмент кода ниже дает ясное представление
машинопись
ngOnInit() {
this.data = [];
this.getData()
.subscribe(res => {
if (res['status'] == "FAILURE") {
....
} else {
this.data = res['data'] as Array<something>;
}
}, (err) => {
console.log(err);
}
);
}
getData(): Observable<something[]> {
return this.http.get<something[]>('/api/getData');
}
export class something {
id: number;
name: string;
}
spec
mockheader=
[
['id', 'id'],
['name', 'name'],
]
it('should define data', () => {
let spyOndata=spyOn(component,'ngOnInit').and.callThrough();
var dummyFinancial : Array<something>;
dummydata = [
{
id:"gdg"
name:"xys"
}
];
component.headers=mockheaders;
//fixture.detectChanges();
const req = httpMock.expectOne('/api/getData');
expect(req.request.method).toBe("GET");
req.flush(dummydata);
console.log(component.data);//nothing prints
expect(component.data.length).toBe(1);//fails
expect(component.data).toEqual(dummydata);//fails
});