【发布时间】:2020-06-30 19:57:55
【问题描述】:
我想在不更改 foo.js 的情况下使用 Jest 测试 foo.js 中的函数。我确实不想测试像getBaseOs 这样的原生函数。简单地从foo.js 导入一个函数将评估foo.js 的所有导入语句。任何依赖本机代码的导入都会触发错误,并且测试不会运行。
有没有办法替代像getBaseOs 这样的导入,但只能在测试文件foo.test.js 中?我只是想在foo.test.js 中忽略getBaseOs 以允许测试。即使替换不是办法,有没有办法做到这一点?
// foo.js
import React from 'react';
import { View, } from 'react-native';
import { getBaseOs, } from 'react-native-device-info';
export default function foo(props) {
return null;
}
// foo.test.js
import 'react-native';
import foo from './foo';
describe('test import substitution', () => {
it('test getBaseOs', () => {
const getBaseOs = jest.fn();
expect(true).toBe(true);
});
});
【问题讨论】:
标签: javascript reactjs react-native jestjs