Ниже приведена ошибка, когда я запустил команду ng test
.`ng test` показывает ошибку: не удается разрешить все параметры для BackendService
Вот моя спецификация услуг,
describe('BackendService',() => {
beforeEach(() => {
TestBed.configureTestingModule({
providers: [
{
provide: Http, useFactory: (backend, options) => {
return new Http(backend, options);
},
deps: [MockBackend, BaseRequestOptions]
},
MockBackend,
BaseRequestOptions,
BackendService
]
});
});
it('should ...', inject([BackendService, MockBackend], (service: BackendService) => {
expect(service).toBeTruthy();
})
); });
BackendService.ts
выглядит,
export class BackendService {
private baseUrl: string = 'https://foo-backend.appspot.com/_ah/api/default/v1';
constructor(private http: Http, baseName: string) {
this.baseUrl = this.baseUrl + baseName;
}
.....
}
Похоже, что дополнительный параметр в конструктор класса BackendService
вызывает эту проблему ..
Я не хочу ничего менять в своем конструкторе код. На данный момент это работает отлично. Но я не знаю, как написать тестовый файл. Я сконфигурировал тестовый стенд, как и вы. –
Как вы ожидаете, что Angular узнает, откуда получить «baseName»? Нет никакой магии, которая случится. Вам нужно настроить Инжектор, чтобы знать, как его получить. В противном случае не добавляйте его в качестве параметра –
_ «Но я не знаю, как написать тестовый файл» _ В какой части тестового примера вы не знаете, как писать? –