Я пытаюсь протестировать свой сервис с функциями httpclient, но когда я запускаю karma, я всегда получаю сообщение об ошибке, упомянутое в заголовке.
Я уже импортировал HttpClientModule в свой файл спецификаций
Редактировать:
Итак, я обнаружил, что мои тесты работают, просто что в консоли напечатано это сообщение об ошибке, которое сбивает с толку.Я не думаю, что так и должно быть ...
app.module.ts
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {AppRoutingModule} from './app-routing.module';
import {AppComponent} from './app.component';
import {HttpClientModule} from '@angular/common/http';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {MaterialModules} from './material-module';
import {DockerService} from './Services/docker.service';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
HttpClientModule,
BrowserAnimationsModule,
MaterialModules
],
providers: [DockerService],
bootstrap: [AppComponent],
entryComponents: []
})
export class AppModule {
}
docker-service.ts
import {Injectable} from '@angular/core';
import {HttpClient, HttpHeaders} from '@angular/common/http';
import {Observable} from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class DockerService {
constructor(private http: HttpClient) {
}
}
docker-service.spec.ts
import {TestBed} from '@angular/core/testing';
import {DockerService} from './docker.service';
import {HttpClientTestingModule} from '@angular/common/http/testing';
import {HttpClientModule} from '@angular/common/http';
describe('DockerService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [DockerService]
});
});
});
'Unhandled Promise rejection:', 'StaticInjectorError(DynamicTestModule)[DockerService -> HttpClient]:
StaticInjectorError(Platform: core)[DockerService -> HttpClient]:
NullInjectorError: No provider for HttpClient!', '; Zone:', 'ProxyZone', '; Task:', 'Promise.then', '; Value:', NullInjectorError: StaticInjectorError(DynamicTestModule)[DockerService -> HttpClient]:
StaticInjectorError(Platform: core)[DockerService -> HttpClient]:
NullInjectorError: No provider for HttpClient!