小编Nor*_*ain的帖子

Angular 2测试:使用PhantomJS进行测试时"无法找到变量:标题",但与Chrome一起正常工作

我和我的团队最近开始使用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)

unit-testing google-chrome phantomjs karma-jasmine angular

4
推荐指数
1
解决办法
976
查看次数