我有一个变量,应根据我是否成功登录来更改其值。但是,从我的测试中,我看不到此更改,只是返回了“未定义”。
此变量做会在我实际使用该应用程序时发生更改,当使用明显错误的详细信息登录时显示“用户名或密码不正确”。
有什么原因使我看不到更新后的errorMessage
?
更新 我在函数的整个流程中放置了一堆console.log消息,看来它可以达到** auth> login()文件中的const主体**,但似乎未返回任何内容
答案 0 :(得分:0)
您可以简单地模拟login()
服务并从中返回错误。同样,也不需要调用真实的login()
,因为您只测试了在组件文件中设置的errorMessage
。
it('should call login when passed valid form with incorrect credentials but return error', () => {
// spy on login() and throw error from there
spyOn(component.authService, 'login').and.throwError('Unable to get Token');
component.onSubmit(validFormBadCreds);
expect(component.errorMessage).toEqual('Either username or password were incorrect');
}