我创建了一个库,该库导出包含一些实用程序功能的默认对象。除了默认值,我还导出了几个枚举。这是我的导出在库的根文件中的样子
exports.default = new _oAuth2.default();
var OAUTH_LOG_LEVELS = exports.LOG_LEVELS = {DEBUG: 10, WARN: 20};
var OAUTH_VERSIONS = exports.VERSIONS = {V1: '1.0', v2: '2.0'}
在我的react应用中,我正在导入并使用类似的值
import lib1, {VERSIONS, LOG_LEVELS} from 'mylib';
lib1.init({
verion: VERSIONS.V1,
})
一切都在应用程序中正常运行。现在,我想使用Jest在应用程序中添加单元测试,我试图模拟库。这是我的模拟]]
jest.mock('myLib', () => ({ init: jest.fn(), }));
现在,我的问题是,如何模拟库以包含枚举和默认值?我尝试了多种方法,但没有成功。没有这些,我将无法使用该库公开的枚举。当我尝试使用该代码时,单元测试会引发未定义VERSIONS的错误。
我创建了一个库,该库导出包含一些实用程序功能的默认对象。除了默认值,我还导出了几个枚举。这是我的导出在根目录下的样子...
使用jest.requireActual
获取实际的导出值,并覆盖所需的值。