在Angular 2.0.0中,我正在对使用Router的组件进行单元测试。但是,我得到'提供的参数不匹配调用目标的任何签名'。错误。在spec.ts的Visual Studio代码中,它是以红色突出显示的新路由器()Angular 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
谢谢,这解决了我的问题:无法读取嘲弄路由器时未定义的属性“根”。 –