Javascript Angular4路由测试

Javascript Angular4路由测试,javascript,angular,angular-routing,Javascript,Angular,Angular Routing,我在一个Angular项目(v4)上工作,我想测试一个组件的ngOnInit。但是,我不知道如何使用路由测试组件。事实上,由于URL参数,我希望找到一个包含2个对象数组的标签。谢谢你的回答 import { Component, OnInit } from '@angular/core'; import { MenuNavComponent } from '../../shared/folder/cpt.component'; import { Router } from '@angular/r

我在一个Angular项目(v4)上工作,我想测试一个组件的ngOnInit。但是,我不知道如何使用路由测试组件。事实上,由于URL参数,我希望找到一个包含2个对象数组的标签。谢谢你的回答

import { Component, OnInit } from '@angular/core';
import { MenuNavComponent } from '../../shared/folder/cpt.component';
import { Router } from '@angular/router';

@Component({
  selector: 'cpt-small',
  templateUrl: './cpt-small.component.html',
  styleUrls: [
    './cpt.scss'
  ]
})
export class Cpt extends ParentCpt implements OnInit {

  constructor( private router: Router ) {
    super();
  }

  ngOnInit() {
    this.router.events.subscribe(() => {
      if (!this.router.url.startsWith('/home')) {
        let routeURL = this.router.url.split('/')[1];
        routeURL = `/${routeURL}`;
        this.menu.forEach((menuCategory, index) => {
          menuCategory.items.forEach((item) => {
            if (routeURL === item.link) {
              this.onDropDownClicked(index);
            }
          });
        });
      }
    });
  }

  onDropDownClicked(index) {
    this.menu.forEach((dropDown, i) => {
      if (i !== index) {
        dropDown['open'] = false;
      } else {
        dropDown['open'] = true;
      }
    });
  }
}