Angular 2: не удается разрешить все параметры MockConnection (?)- ошибка, возникающая даже после импорта HttpModule
Может ли кто-нибудь помочь мне с этой ошибкой:
Can't resolve all the parameters of MockConnection (?)
Я попытался найти решение на StackOverflow. Эта ошибка возникает даже после того, как я импортировал HttpModule
. Было бы здорово, если бы кто-нибудь мог указать, где я делаю ошибку -
Общие / макет-бэкенд / знания.издеваться.ts
export const MockKnowledgeApi = {
query: 'Berlin',
max_hits: 5,
hosts: ['http://dbpedia.org/resource/Berlin'],
language: 'en_US',
}
Knowledge-сервис.спекуляция.ts
import { TestBed, inject, async, fakeAsync, tick } from '@angular/core/testing';
import { MockBackend, MockConnection } from '@angular/http/testing';
import { Http, BaseRequestOptions, RequestMethod, Response, ResponseOptions, HttpModule } from '@angular/http';
import { KnowledgeapiService } from './knowledgeapi.service';
import { MockKnowledgeApi } from './shared/mock-backend/knowledge.mock';
const mockHttp_provider = {
provide: Http,
deps: [MockBackend, BaseRequestOptions],
useFactory: (backend: MockBackend, options: BaseRequestOptions) => {
return new Http(backend, options);
}
}
describe('Service: KnowledgeapiService', () => {
let service: KnowledgeapiService = null;
let backend: MockBackend = null;
beforeEach(() => {
TestBed.configureTestingModule({
providers: [
KnowledgeapiService,
MockBackend,
BaseRequestOptions,
mockHttp_provider,
MockConnection
],
imports: [
HttpModule
]
});
});
beforeEach(inject([KnowledgeapiService, MockBackend], (knowledgeService: KnowledgeapiService, mockBackend: MockBackend) => {
service = knowledgeService;
backend = mockBackend;
}));
const searchquery = 'Berlin';
const _queryResult = MockKnowledgeApi;
it('should create an instance KnowledgeapiService',
inject([KnowledgeapiService, MockBackend], () => {
expect(service).toBeTruthy();
})
);
it('should call knowledge service API and return the result', () => {
backend.connections.subscribe((connection: MockConnection) => {
const options = new ResponseOptions({
body: JSON.stringify(MockKnowledgeApi)
});
connection.mockRespond(new Response(options));
expect(connection.request.method).toEqual(RequestMethod.Get);
expect(connection.request.url).toEqual(
`http://lookup.dbpedia.org/api/search/KeywordSearch` +
`?QueryString=${searchquery}`
);
});
service.getsearchresults(searchquery).subscribe((res) => {
expect(res).toEqual(MockKnowledgeApi);
});
});
});