Я пытаюсь выполнить проверку на угловое обслуживание 2, и у меня возникли некоторые проблемы.Угловые 2 и модульные испытания с обслуживанием
Мой класс выглядит следующим образом:
import { Injectable } from '@angular/core';
import {Http} from '@angular/http';
@Injectable()
export class BoardServiceService {
private http:Http;
constructor(http:Http) {
this.http = http;
}
/**
* Load a list of remote boards
* @return {object} The HTTP observable
*/
loadBoards(){
return this.http.get('http://google.com');
}
}
Мой тест выглядит следующим образом. Мне нужно, чтобы проверить, что я получаю массив одного элемента для первого теста:
import {
beforeEachProviders,
it,
describe,
expect,
inject
} from '@angular/core/testing';
import {Http, BaseRequestOptions, Response, ResponseOptions} from '@angular/http';
import {MockBackend} from '@angular/http/testing';
import {provide} from '@angular/core';
import { BoardServiceService } from './board-service.service';
describe('BoardService Service',() => {
beforeEachProviders(() => [
BaseRequestOptions,
MockBackend,
Response,
BoardServiceService,
provide(Http, {
useFactory: (backend, defaultOptions) => new Http(backend, defaultOptions),
deps: [MockBackend, BaseRequestOptions]
})
]);
it('should get me a list of items (array type) on subscribe',
inject([BoardServiceService, MockBackend], (service: BoardServiceService, MockBackend) => {
const resultSet = [{}];
const response = new Response(new ResponseOptions({body:resultSet, status:200}));
MockBackend.connections.subscribe(connection => connection.mockRespond(response));
BoardServiceService.loadBoards().subscribe(res => expect(res.length).toEqual(1));
}));
});
Когда я пытаюсь запустить мой тест с использованием углового Cli (нг теста), у меня есть следующие ошибки:
The Broccoli Plugin: [BroccoliTypeScriptCompiler] failed with: Error: Typescript found the following errors:
C:/Project/angular2/kanboard/tmp/broccoli_type_script_compiler-input_base_path-NaWokBRS.tmp/0/src/app/service/boardService/board-service.service.spec.ts (35, 27): Property 'loadBoards' does not exist on type 'typeof BoardServiceService'.
Кто-нибудь знает, как заставить его работать?