Typescript nginit中的组件变量应已定义,但未定义

Typescript nginit中的组件变量应已定义,但未定义,typescript,unit-testing,jasmine,Typescript,Unit Testing,Jasmine,我正在运行angular应用程序的测试。我模拟了http get调用,并用dummydata刷新。我希望期望定义此dummydata的变量或打印此变量。我看这是未定义的。希望下面的代码片段给出清晰的想法 typescript ngOnInit() { this.data = []; this.getData() .subscribe(res => { if (res['status'] == "FAILURE") { ....

我正在运行angular应用程序的测试。我模拟了http get调用,并用dummydata刷新。我希望期望定义此dummydata的变量或打印此变量。我看这是未定义的。希望下面的代码片段给出清晰的想法

typescript

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;
}
ngOnInit(){
这个.data=[];
这个文件名为getData()
.订阅(res=>{
如果(res['status']=“FAILURE”){
....
}否则{
this.data=res['data']作为数组;
}
},(错误)=>{
控制台日志(err);
}
);
}
getData():可观察{
返回这个.http.get('/api/getData');
}
出口类物品{
id:编号;
名称:字符串;
}
规格

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


  });

mockheader=
[
['id','id'],
['name','name'],
]
它('应该定义数据',()=>{
让spyOndata=spyOn(组件,'ngOnInit')。和.callThrough();
var-dummyFinancial:数组;
dummydata=[
{
id:“gdg”
名称:“xys”
}
];
headers=mockheaders;
//fixture.detectChanges();
const req=httpMock.expectOne('/api/getData');
expect(请求方法).toBe(“GET”);
请求刷新(dummydata);
console.log(component.data);//不打印任何内容
expect(component.data.length).toBe(1);//失败
expect(component.data).toEqual(dummydata);//失败
});