我是一个新手,正在尝试为我现有的React应用编写一些单元测试,使用Jest框架。 我有一个全局变量window.CONFIG
,它存储了一些配置信息,这些信息在应用程序的不同位置使用。该变量在着陆HTML页面的脚本标记中进行初始化。
现在,我正在尝试编写一个帮助函数的测试,该函数依赖于这个window.CONFIG
,但是当访问时,它始终为未定义。
以下是代码:
config.js
export default window.CONFIG;
app/helper.js
import config from "../config";
export default {
getCompanyURL(company) {
return config.baseUrl + "/companies/" + company.id;
},
}
_ tests _/helpers-test.js
jest.dontMock('../app/helpers.js');
var helper = require('../app/helpers.js').default;
describe('Get company URL', function() {
it('returns company url with company id appended', function() {
expect(companies.getCompanyURL({id: 1})).toBe('test_base_url/companies/1');
});
});
Get Company Url
的config
始终未定义。由于浏览器登陆页面未加载,因此window.CONFIG
未初始化。我应该如何在Jest单元测试中模拟此config
模块呢?
提前致谢!