我使用Jest对我的JavaScript代码进行单元测试。或者至少我真的想使用Jest。
问题是Jest需要我使用module.exports
才能使用测试文件中的函数。这意味着我无法在浏览器中使用我的JavaScript。
简单的Jest测试如下所示:
// divide.js
function divide(a, b) {
return a / b;
}
module.exports = divide;
// divide.test.js
const divide = require('./divide');
test('divides 10 by 2 equal to 5', () => {
expect(divide(10, 2)).toBe(5);
});
它工作正常。我在CLI中运行test
,一切都很好。
我意识到Jest是在考虑React的情况下编写的(因此,有关Jest的每本指南都使用React),但是使用(原始)JavaScript进行测试似乎很有意义。
我意识到module.exports
和require
是特定于Node.js的。但是我无法弄清楚如何处理它们,以便可以在浏览器呈现的代码中使用这些函数。3
直到现在,我一直在通过注释module.exports
来解决此问题-当然这不是可行的方法。
所以我的问题是:如何在测试和浏览器中使用我的divid.js?
我可以想到以下方法:
-将测试人员切换到其他位置
-确定要使用哪种工具或设置从包含module.exports
的文件中创建诸如main.js之类的内容,以便可以在浏览器中使用