Javascript 测试 - 使用 axios 验证授权 header 是否正确
Javascript Test - Verify if Authorization header is correct using axios
我正在使用 axios 拦截器在请求中设置授权令牌 headers。
axios.interceptors.request.use(config => {
config.headers.Authorization = 'Bearer ' + Auth.getToken()
return config
})
如何测试我的请求是否在 header 中使用正确的令牌发送?
Ps.: 我正在使用 Mocha + Chai
使用axios-mock-adapter mock axios,从configobject中获取请求信息:
.reply((config) => {})
示例:
import MockAdapter from 'axios-mock-adapter'
const axiosMock = new MockAdapter(axios)
axiosMock.onGet('https://api.com').reply((config) => {
return [200, { requestHeaders: config.headers }]
});
const response = await axiosWrapper.get('https://api.com')
expect(response.data.requestHeaders['Authorization'] === 'AUTH_TOKEN')
要测试 正确的 标记是否在 header 中,集成测试会更合适。当正确的令牌在 header 中时,API 响应应该不同于将不正确的令牌与请求一起发送到 API。
如果想在响应中测试您的 headers,您可以这样做:
const mock = new MockAdapter(axios);
mock.onGet('/anon/getUser').reply(200, {/*response.data*/}, {'my-header-key': 'my-value' });
我正在使用 axios 拦截器在请求中设置授权令牌 headers。
axios.interceptors.request.use(config => {
config.headers.Authorization = 'Bearer ' + Auth.getToken()
return config
})
如何测试我的请求是否在 header 中使用正确的令牌发送?
Ps.: 我正在使用 Mocha + Chai
使用axios-mock-adapter mock axios,从configobject中获取请求信息:
.reply((config) => {})
示例:
import MockAdapter from 'axios-mock-adapter'
const axiosMock = new MockAdapter(axios)
axiosMock.onGet('https://api.com').reply((config) => {
return [200, { requestHeaders: config.headers }]
});
const response = await axiosWrapper.get('https://api.com')
expect(response.data.requestHeaders['Authorization'] === 'AUTH_TOKEN')
要测试 正确的 标记是否在 header 中,集成测试会更合适。当正确的令牌在 header 中时,API 响应应该不同于将不正确的令牌与请求一起发送到 API。
如果想在响应中测试您的 headers,您可以这样做:
const mock = new MockAdapter(axios);
mock.onGet('/anon/getUser').reply(200, {/*response.data*/}, {'my-header-key': 'my-value' });