【发布时间】:2020-07-24 09:52:49
【问题描述】:
我正在尝试在 Node.js 环境中设置 Jest。以下是在名为controllers/a.js 的文件中定义的函数:
function sum(a, b) {
return a + b;
}
module.exports = sum;
这是从tests.js 文件访问的:
const sum = require('../controllers/a');
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
这很好用:
PASS tests/tests.js
√ adds 1 + 2 to equal 3 (5 ms)
但是,如果我将a.js 修改如下:
function sum(a, b) {
return a + b;
}
exports.sum = sum;
然后我得到TypeError:
FAIL tests/tests.js
× adds 1 + 2 to equal 3 (3 ms)
● adds 1 + 2 to equal 3
TypeError: sum is not a function
2 |
3 | test('adds 1 + 2 to equal 3', () => {
> 4 | expect(sum(1, 2)).toBe(3);
| ^
5 | });
尝试了以下几种方式导出,都失败了上面的TypeError:
module.exports.sum = sum;module.exports = { sum: sum };exports = sum;exports = { sum: sum };
我需要在Jest 中导出多个功能进行测试。如果Jest 无法按预期识别module.exports,我该怎么做?
【问题讨论】:
标签: javascript node.js jestjs