我正在尝试在我们正在进行的旧项目中创建单元测试。配置被导入到模块中,但是我想模拟整个导入过程。
设置如下:
在.eslintrc中
"globals": {
"fetch": true,
"alert": true,
"Response": true,
"Headers": true,
"Request": true,
"ErrorUtils": true,
"navigator": true,
"__DEV__": true
}
Config.js
const localConf = __DEV__ ? require('~/utils/Config.local.js').default : null;
export default localConf || { //configuration here }
我正在尝试为导入Configuration的类编写测试,如下所示:
import Config from '../../utils/Config';
class ApiClient { }
测试:
__DEV__ = false;
jest.mock('../../../Utils/Config.Brand.js');
import ApiClient, { ApiError, ApiClientClass } from '../';
it('Dummy', () => {
return undefined;
});
每次运行测试,我都会得到:
Cannot find module '~/utils/Config.local.js' from 'Config.js'
这当然是因为 DEV 似乎也针对测试设置为true。
在测试中,我尝试设置全局变量。 DEV 以及其他实现方法,我觉得此设置从根本上来说是错误的,但是我对React-Native还是很陌生,所以我还没有完全了解发生了什么事情。