gpt4 book ai didi

javascript - Angular 2 测试错误无法读取未定义的属性 'forEach'

转载 作者:行者123 更新时间:2023-11-28 21:25:40 25 4
gpt4 key购买 nike

我正在尝试测试一个 component.ts:

import { ActivatedRoute, Params } from '@angular/router';
import { Location } from '@angular/common';
...
ngOnInit(): void {
this.route.params.forEach((params: Params) => {
let id = +params['id'];
...
}

下面的 spec.ts 代码:

describe('MyDetailComponent', () => {
beforeEach( async(() => {
addMatchers();
TestBed.configureTestingModule({
imports: [ MaterialModule, FormsModule ],
declarations: [ MyDetailComponent ],
providers: [
...
{ provide: RequestOptions, useClass: RequestOptionsStub },
{ provide: ActivatedRoute, useClass: RouterStub },
{ provide: Location },
{ provide: XHRBackend, useClass: MockBackend },
AppSettings,
Http,
ConnectionBackend,
Jsonp
]
})
.compileComponents()
.then(createComponent);
}));

我收到错误:失败:未捕获( promise ):错误:错误:0:0 导致:无法读取未定义的属性“forEach”类型错误:无法读取未定义的属性“forEach”

如何解决这个问题?

最佳答案

Angular2 RC5 Mock Activated Route Params 中找到了答案:

import { Observable } from 'rxjs/Rx';

...

{ provide: ActivatedRoute, useValue: { 'params': Observable.from([{ 'id': 1 }]) } }

关于javascript - Angular 2 测试错误无法读取未定义的属性 'forEach',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41026290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com