【发布时间】:2021-04-30 01:34:53
【问题描述】:
在 React Native 中,我创建了一个 theme.js 文件,其中有一些函数可以根据公司的设计系统获取我的颜色。
// theme.js
const PRIMARY_COLORS = {
900: '#000000',
800: '#003030',
700: '#004040',
600: '#006060',
500: '#00A090',
400: '#00C0A0',
300: '#00E0D0',
200: '#C0FFF0',
100: '#E0FFF0',
};
export function _primaryColor(code) {
return PRIMARY_COLORS[code];
}
当使用 React 的默认测试运行 jest 时,它会抛出一个错误,指出 PRIMARY_COLORS 未定义。
// App-test.tsx
import 'react-native';
import React from 'react';
import App from '../App';
import renderer from 'react-test-renderer';
jest.useFakeTimers();
it('renders correctly', async () => {
renderer.create(<App />);
});
如果对象在函数内部,则测试将正确运行,但这意味着每次函数运行时都会实例化对象。
有什么办法可以解决这个问题吗?
【问题讨论】:
标签: reactjs react-native jestjs