我正在尝试从login()
内部监视auth.service
的{{1}}功能,并且试图简化间谍程序。
我收到错误:
TypeError:无法读取未定义的属性“ login” 在LoginComponent.onSubmit src / app / components / login / login.component.ts:28:30)
login.spec.ts
login.component
答案 0 :(得分:1)
创建一个包含您的服务值的模拟并将其提供给您的测试平台(就像您已经在做的那样):
const mockAuthService = {
login: () => of(null),
logout: () => of(null)
};
现在,您可以监视方法:
spyOn(component['authService'], 'login');
...
expect(component['authService'].login).toHaveBeenCalled();
答案 1 :(得分:0)
我通过移动这行代码解决了这个问题:
mockAuthService = jasmine.createSpyObj(['login', 'logout']);
到beforeEach
块顶部。