【发布时间】:2016-12-12 00:13:16
【问题描述】:
我正在使用 typescript 创建一个 angular 2 应用程序,并且需要使用 Jasmine 测试该服务。正如您在测试方法中看到的那样,我需要将 http 注入到我的服务中才能正常工作。如何将 HTTP 注入我的服务。这是我指的代码行
var _getCustomerService: GetCustomerService = new GetCustomerService (http);
服务方式
@Injectable()
export class GetCustomerService {
constructor(private http: Http) { }
private customerUrl = 'http://localhost:45870/api/getcustomer';
getCustomer(): Observable<Customer[]> {
return this.http.get(this.customerUrl)
.map((res: Response) => res.json())
.catch((error: any) => Observable.throw(error.json().error || 'Server Error'));
}
}
茉莉花测试
describe("Service test", function () {
it("check service", function () {
var http: Http;
var _getCustomerService: GetCustomerService = new GetCustomerService (http);
_getCustomerService.getCustomer()
.subscribe(
(Customer: Customer[]) => {
var customer: Customer[];
customer = Customer;
expect(customer).toBeDefined();
});
});
});
【问题讨论】: