如何模拟ActivatedRouteSnapshot?

时间:2019-12-06 17:08:22

标签: angular unit-testing

我正在尝试对以下代码进行单元测试:

  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搜索和尝试不同的技术,并且想知道为什么这似乎是一项艰巨的任务。

0 个答案:

没有答案