我正在尝试对以下代码进行单元测试:
ngOnInit() {
this.router.events.subscribe((val) => {
if (val instanceof ActivationEnd && val.snapshot) {
this.selectedLanguageCode = val.snapshot.queryParams.lang ? val.snapshot.queryParams.lang : 'en';
this.languageService.setLanguage(this.selectedLanguageCode);
this.langCodeFromUrl = val.snapshot.queryParams.lang;
}
});
this.setupAvailableTranslations();
}
我看过类似以下内容的帖子:
Mocking router.events.subscribe() Angular2
和
Angular 6 - how to mock router.events url response in unit test
说,“很简单,只需执行此操作或...”(即
但实际上,我真正需要做的是让测试路由器返回一个带有快照的假ActivationEnd事件。花了相当多的时间使用Google搜索和尝试不同的技术,并且想知道为什么这似乎是一项艰巨的任务。