如何将内部函数测试为角度函数



我有一个问题要问你们。它是测试内部功能的任何方法,我谈论的是successCallback和failureCallback;因为当我检查代码覆盖率时,这些函数不会被覆盖。

onSubmitForm() {
const name: string = this.newForm.controls.name.value;
const successCallback = () => {
this.popupService.popupSuccess();
};
const failureCallback = () => {
this.popupService.popupFailure();
};
this.myservice.edit({ name, this.id }, successCallback, failureCallback);
}

我认为这样的东西可以工作。

it('should call popupSuccess on success', () => {
component.onSubmitForm();
// get the 2nd argument
const successCallback = mockMyService.edit.calls.mostRecent().args[1];
successCallback();
expect(mockPopupService.popupSuccess).toHaveBeenCalled();
});
it('should call popupFailure on failure', () => {
component.onSubmitForm();
// get the 3rd argument
const failCallback = mockMyService.edit.calls.mostRecent().args[2];
failCallback();
expect(mockPopupService.popupFailure).toHaveBeenCalled();
});

最新更新