使用不带module.exports的Jest进行单元测试

时间:2018-09-25 20:25:52

标签: javascript node.js unit-testing npm jestjs

我有一个脚本,其中包含一个const变量,该变量包含我的所有逻辑,有点像Moment.js。
我想用Jest测试该脚本附带的功能。

我不能使用module.exports,因为它在发布脚本时不起作用。
而且,如果我无法使用module.exports,那么我将无法使用require

但是我仍然想在脚本上运行单元测试。
我尝试使用import时没有运气。

这是我的代码:

import 'src/library.js';

test('Something', () => {
    expect(library.add(1,2)).toBe(3);
});

这是我的图书馆:

const library = () => {
    return {
        add : (num1,num2) => num1 + num2,
        subtract : (num1,num2) => num1 - num2
    }
}

2 个答案:

答案 0 :(得分:0)

第一选项(快速和肮脏): 不要导入。只需将代码移到一个文件中即可。

第二种选择(最佳长期): 了解如何使用(Webpack和)babel

答案 1 :(得分:0)

如何用以下内容包装您的出口商品?

if (typeof exports !== 'undefined') {
    module.exports = { yourWhatever };
}