如何解决如何解决 vue.js 中未定义的本地存储?
当我尝试在 vue.js 中运行测试用例时,它显示 error 本地存储未定义,如何解决此问题,请帮助我解决此问题。
[登录.spec.js]
import Login from '../../src/Pages/Login.vue';
import{shallowMount} from '@vue/test-utils';
describe('Login.vue',()=>{
describe('When Loaded',()=>{
it('has the required elements',()=>{
const wrapper =shallowMount(Login);
expect(wrapper.find('#input-username').exists()).toBe(false);
expect(wrapper.find('#input-password').exists()).toBe(false);
});
});
});
[axios.js]
import axios from 'axios'
axios.defaults.baseURL=process.env.VUE_APP_AXIOS_URL
axios.defaults.headers.common['Authorization']='Bearer'+ localStorage.getItem('token');
export default class AxiosService{
postData(url,data){
return axios.post(url,data).then(response =>{
return response;
}).catch(error=>{
return error;
})
}
}
解决方法
这可能是模拟您的 localStorage
的好方法:
How do I deal with localStorage in jest tests?
基本上,有一个存储用于模拟 localStorage
。通过这种方式,您可以根据虚假或真实的身份验证方法设置令牌,这取决于您。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。