В Angular 2.0.0 я тестирую компонент, использующий маршрутизатор. Однако я получаю, что «Поставляемые параметры не соответствуют какой-либо сигнатуре целевого вызова». ошибка. В Visual Studio код в spec.ts это новый Router(), который выделен красным цветомУгловой 2 - Тестирование устройства с помощью маршрутизатора
Я действительно признателен, если кто-то может сообщить мне, какой будет правильный синтаксис? Заранее спасибо. Мой код выглядит следующим образом:
spec.ts
import { TestBed, async } from '@angular/core/testing';
import { NavToolComponent } from './nav-tool.component';
import { ComponentComm } from '../../shared/component-comm.service';
import { Router } from '@angular/router';
describe('Component: NavTool',() => {
it('should create an instance',() => {
let component = new NavToolComponent(new ComponentComm(), new Router());
expect(component).toBeTruthy();
});
});
конструктор компонентов
constructor(private componentComm: ComponentComm, private router: Router) {}
Спасибо, это работает! Я также использую 'router = TestBed.get (Router)' и сохраняю мой маршрутизатор в переменной вместе с привязкой вместо того, чтобы отличать компонент к любому, как рекомендовано в https://angular.io/guide/testing#testbedget –
Спасибо, оба вы - это работает, как описано :) – ICantSeeSharp
Спасибо, это решило мою проблему: не могу прочитать свойство «root» неопределенного, когда насмехается маршрутизатор. –