使用构造函数参数为服务编写angular2测试

Syn*_*ose 5 karma-jasmine angular

如何测试使用构造函数参数的服务?我正在尝试通过文档学习测试,但遇到了麻烦.我有一个服务location-search.service.ts:

import { Injectable }       from '@angular/core';
import { Http, Response, Jsonp }   from '@angular/http';
import { Observable }       from 'rxjs';

import { Location }         from '../models/location';

@Injectable()
export class LocationSearchService {
    constructor(private jsonp: Jsonp) {}

    search(term: string): Observable<Location[]> {
        return this.jsonp
            .get(/* api url */)
            .map((r: Response) => r.json().RESULTS as Location[]);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,当我写作时,我location-search.spec.ts怎样才能正确地注入jsonp服务?例如

describe('LocationSearchService', () => {
  let service: LocationSearchService;

  // how do I initialize LocationSearchService with Jsonp in this case?
  beforeEach(() => { service = new LocationSearchService(); });

  it('#search should return observable value', () => {
    expect(service.search('term').toBe('observable value');
    done();
  });
});
Run Code Online (Sandbox Code Playgroud)