我正在尝试测试使用服务的Angular 2组件.该服务注入了Http,我对测试不感兴趣所以我试图模拟服务并监视服务的方法调用.这是我在Angular 1中非常熟悉的事情,但我无法在Angular 2中工作.我得到的错误是Http的无提供者!我有兴趣监视实际的服务方法,而不是嘲笑它.
我的组件看起来像这样:
import { Component, OnInit } from '@angular/core';
import { NavBarLink } from '../../models/nav-bar-link';
import { NavBarService } from '../../services/nav-bar/nav-bar.service';
@Component({
selector: 'nav-bar',
providers: [NavBarService],
moduleId: module.id,
templateUrl: 'nav-bar.template.html'
})
export class NavBarComponent {
constructor(private _navBarService: NavBarService) { }
links: NavBarLink[];
getLinks(): void {
this._navBarService.getNavBarLinks().then(data => this.links = data);
}
ngOnInit(): void {
this.getLinks();
}
}
Run Code Online (Sandbox Code Playgroud)
我的服务看起来像这样:
import { Injectable } from '@angular/core';
import { Headers, Http } from '@angular/http';
import 'rxjs/add/operator/toPromise';
import { Urls } …Run Code Online (Sandbox Code Playgroud)