无法监视 getNotification() 属性 因为它不是函数;代替给定的未定义
Cannot spy the getNotification() property because it is not a function; undefined given instead
我在 angular 测试用例中的 jest spyOn 中收到此错误。
getNotification 是文件中定义的私有方法。这是写的测试用例:
const errorSpy = jest.spyOn(service as any, 'getNotification');
const spy = jest
.spyOn(service, 'func')
.mockReturnValue(throwError('error'));
actions$ = of(abc);
effects.abc$.subscribe((res) => {
expect(errorSpy).toHaveBeenCalled();
expect(res).toEqual(funcFail({ error: 'error' }));
expect(spy).toHaveBeenCalledTimes(1);
done();
由于该函数是私有的,您不能直接访问它。因此,改为使用 prototype
来访问函数:
const errorSpy = jest.spyOn(service.prototype as any, 'getNotification');
这是一个相关主题:
我在 angular 测试用例中的 jest spyOn 中收到此错误。 getNotification 是文件中定义的私有方法。这是写的测试用例:
const errorSpy = jest.spyOn(service as any, 'getNotification');
const spy = jest
.spyOn(service, 'func')
.mockReturnValue(throwError('error'));
actions$ = of(abc);
effects.abc$.subscribe((res) => {
expect(errorSpy).toHaveBeenCalled();
expect(res).toEqual(funcFail({ error: 'error' }));
expect(spy).toHaveBeenCalledTimes(1);
done();
由于该函数是私有的,您不能直接访问它。因此,改为使用 prototype
来访问函数:
const errorSpy = jest.spyOn(service.prototype as any, 'getNotification');
这是一个相关主题: