Я пытаюсь узнать, как выполнить модульное тестирование для Angular с Кармой и Жасмином.
Моя проблема в том, что я делаю это с помощью spyOn () и wait.toHaveBeenCalled (), и хотя Карма говорит, что прошлотесты, покрытие кода не обновляется.
Я новичок в модульном угловом тестировании и не знаю, как правильно тестировать методы, чтобы получить покрытие кода.
Спасибо всем за помощь.
Это сервис, который я хочу протестировать:
import { Injectable } from '@angular/core';
import { environment } from '../../environments/environment';
@Injectable({
providedIn: 'root',
})
export class EnvironmentService {
constructor() { }
public static isOAuthEnabled(): boolean {
return environment.oAuthEnable;
}
public static isProduction(): boolean {
return environment.production;
}
}
Мои спецификации:
import { TestBed, inject } from '@angular/core/testing';
import { EnvironmentService } from './environment.service';
describe('EnvironmentService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
providers: [EnvironmentService],
});
});
it('should be created', inject([EnvironmentService], (service:
EnvironmentService) => {
expect(service).toBeTruthy();
}));
it('isProduction', inject([EnvironmentService], (service:
EnvironmentService) => {
let env = new EnvironmentService();
spyOn(EnvironmentService, 'isProduction');
EnvironmentService.isProduction();
expect(EnvironmentService.isProduction).toHaveBeenCalledWith();
}));
});
Я не знаю, почему он отмечает один методкак проверено, а не другое.