Как использовать и обрабатывать подписанный ответ от службы в модульном тестировании angular 5 для достижения покрытия кода? - PullRequest
1 голос
/ 11 июля 2019

Я не могу выполнить покрытие кода ниже куска кода. Я использую жасмин и карму для покрытия кода. Угловой 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, чтобы увидеть покрытие кода демо-компонента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...