下面是我用来测试某个拦截器的内容:
describe(`interceptor: yourinterceptor`, () => { // CHANGE HERE
let httpMock: HttpTestingController;
let injector: TestBed;
function createTestModule(providers: Provider[] = []) {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule, RouterTestingModule],
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: YOUR_INTERCEPTOR, // CHANGE HERE
multi: true
},
...providers
]
});
injector = getTestBed();
httpMock = injector.get(HttpTestingController);
}
beforeEach(() => {
// empty
});
afterEach(() => {
httpMock.verify();
});
describe('request with headers', () => {
beforeEach(() => {
createTestModule();
});
it('should make the request with headers', inject([HttpClient], (http: HttpClient) => {
http.get('/dummy').subscribe();
const httpRequest: TestRequest = httpMock.expectOne('/dummy');
expect(httpRequest.request.headers.has("YOUR_HEADER")).toBeTruthy(); // CHANGE HERE
}));
});
});