我在组件中有一个代码
this.activatedRoute.queryParams
.pipe(tap((qs: Params) => {
this.handleFacetsQueryStringParamsUpdated(qs.facets);
}))
.subscribe();
this.router.navigate([],
{
queryParams: {facets: JSON.stringify(facetsSelection)},
queryParamsHandling: 'merge'
});
我使用TestBed配置进行了测试:
TestBed.configureTestingModule({
imports: [RouterTestingModule],
providers: [{
provide: ActivatedRoute,
useValue: {
queryParams: new BehaviorSubject({}),
snapshot:
{
queryParams: {}
}
}
}]
});
很显然,在router.navigate
结束之后,queryParams
主题不会发出新的查询字符串参数。它仅发出空值。我想我需要以某种方式连接ActivatedRoute
的伪造品和测试router
的实例。感谢您有任何解决此问题的想法。