使用 Angular 14.
我们有几个测试套件,需要在
ActivatedRoute
上动态更改参数,所以他们这样做了
TestBed.get(ActivatedRoute).paramMap = of(convertToParamMap({
< new parameters here >
}));
工作正常,但是
get
有一个删除线标记,表明它从 Angular 9 开始被弃用,并提示您应该使用 inject
代替。
但是,虽然
TestBed.inject(ActivatedRoute).paramMap
是有效代码,但返回的 paramMap
引用变为只读,因此赋值不是。
这里正确的做法是什么?
这是javascript,别担心。
Object.assign(TestBed.inject(ActivatedRoute), {
paramMap: of(convertToParamMap({}))
});