我正在尝试为Angular2组件开发一些Jasmine测试。该组件在构造函数,服务和路由器中接收两个参数。
import {Component , OnInit} from '@angular/core';
import {Router} from '@angular/router-deprecated';
import { HeroService } from './hero.service';
@Component({
...
})
export class HeroesComponent implements OnInit {
...
constructor(
private heroService: HeroService ,
private router: Router
) { }
...
}
我想编写一个测试来检查这个组件是否定义良好,但我怀疑如何在测试中实现组件传递两个参数,第一个(HeroService)很简单,只需使用一个新的,但是, ¿我怎样才能传递第二个参数(路由器)?我正在尝试使用新的,但我不知道如何将RouteRegistry作为Route构造函数的第一个参数传递。有没有其他方法可以做到这一点?
import { Router } from '@angular/router-deprecated';
import { HeroService } from './hero.service';
...
describe('HeroesComponent with new', function () {
it('should instantiate component', () => {
expect(new HeroesComponent(new HeroService() , new Router())).toBeDefined('Done!');
});
});
这引发了这个错误:
app/heroes.component.spec.ts(30,52): error TS2346: Supplied parameters do not match any signature of call target.
提前致谢