Jest测试运行报ReferenceError: Calculator is not defined,是哪里出错了?
问题原因
错误的根源是ES模块导入语法使用不当:
你在Calculator.js中通过export default Calculator做了默认导出,而测试文件里的import './Calculator'仅会执行目标模块的代码,并不会把模块默认导出的Calculator类绑定到当前测试文件的作用域中,因此调用new Calculator()时会抛出变量未定义的ReferenceError。
修复方案
修改Calculator.test.js的导入语句,将默认导出的Calculator类赋值到当前作用域的同名变量即可,修改后的完整测试代码如下:
import Calculator from './Calculator'; test('adds 1 + 2 to equal 3', () => { expect(new Calculator().add(1, 2)).toBe(3); });
内容的提问来源于stack exchange,提问作者coder-guy-2022
相关产品推荐
相关产品推荐

