我和我的团队最近开始使用angular-cli 1.1.1(棱角分明4.1.3)构建一个项目,我们正在整合来自angular.io的英雄之旅的内存web-api来模拟http调用直到我们的api是建造的.我能够使用chrome成功通过我们所有的业力单元测试,但由于CI限制想要尝试使用PhantomJS运行业力.从chrome切换到phantomJS时,一些测试无法指定错误消息:
PhantomJS 2.1.1 (Mac OS X 0.0.0) UserDataService should be created FAILED
ReferenceError: Can't find variable: Headers in http://localhost:9876/_karma_webpack_/main.bundle.js (line 693)
Run Code Online (Sandbox Code Playgroud)
这是我的user-data.service.ts文件的样子:
import {Injectable} from @angular/core";
import {Http} from "@angular/http";
import "rxjs/add/operator/map";
import "rxjs/add/operator/catch";
import "rxjs/add/operator/toPromise";
import "rxjs/add/operator/find";
import {User} from "../data-objects/user";
import {Observable} from "rxjs/Observable";
@Injectable()
export class UserDataService {
private userDataUrl = `api/userData`;
private headers = new Headers({"Content-Type": "application/json"});
constructor(private http: Http) { }
getUser(id:number): Observable<User> {
const url = `${this.userDataUrl}/?id=${id}`;
return this.http.get(url, …Run Code Online (Sandbox Code Playgroud)