我在我的应用程序中使用app。对于测试,我需要为请求设置全局头。因此,当我对REST进行标注时,我可以将测试用户发送到REST。我想为每个测试设置标题,或者全局设置。
我读过在运行测试时使用Jest,也看过jsdom。我想知道是否有可能为测试目的操纵头?
发布于 2017-06-19 15:35:14
如果您需要在运行任何测试之前全局设置标头,只需将一个src/setupTests.js添加到您的react app项目中,并在该文件中设置默认的标头。对于在当前文件中运行任何测试之前设置默认标头,可以使用jest beforeAll方法。
设置默认标题的方式完全基于调用Rest的API或库。
例如,如果使用axios调用API,则可以使用以下代码在src/setupTests.js中全局设置默认标头。
src/setupTests.js
import axios from 'axios';
axios.defaults.headers.common['my-default-header'] = 'my-default-value';import fetchIntercept from 'fetch-intercept';
const unregister = fetchIntercept.register({
request: function (url, config) {
const withDefaults = Object.assign({}, config);
withDefaults.headers = defaults.headers || new Headers();
withDefaults.headers.append('my-default-header', 'my-default-value');
return [url, withDefaults];
}
});https://stackoverflow.com/questions/44539963
复制相似问题