Я не могу выполнить покрытие кода ниже куска кода. Я использую жасмин и карму для покрытия кода. Угловой 5 проект.
// demo.component.ts
public demoMethod(): void {
this.myService.getStatus(this.arg1).subscribe((response) => {
this.isLogin = response.isLogin;
if (response.status === 'Status_01') {
this.userStatus = 'Status_01';
} else if (response.status === 'Status_02') {
this.userStatus = 'Status_01';
} else {
this.error = 'Invalid'
}
});
}
// demo.component.spec.ts
describe('demoMethod', () => {
it('should call demoMethod method if', () => {
const response = { validationStatus: 'Status_01', isLogin: true };
const
myServiceSpy = spyOn(component['myService'],'getStatus').and.returnValue(of({
response }));
component.demoMethod();
expect(myServiceSpy).toHaveBeenCalled();
});
it('should call demoMethod method else if', () => {
const response = { validationStatus: 'Status_02', isLogin: true };
const
myServiceSpy = spyOn(component['myService'],'getStatus').and.returnValue(of({
response }));
component.demoMethod();
expect(myServiceSpy).toHaveBeenCalled();
});
});
Я не могу выполнить покрытие кода или написать примеры модульных тестов, если еще лестница после успешного ответа.
Я использую > ng test --code-coverage --watch=true
, чтобы увидеть покрытие кода демо-компонента.