【问题标题】:what's wrong with this jest test setup?这个开玩笑的测试设置有什么问题?
【发布时间】:2021-11-05 22:43:23
【问题描述】:

我有一个 React 应用程序,我正在尝试创建一个基本的 Jest 单元测试。我在 Calculator.js 文件中创建了一个像这样的基本 Calculator 类:

class Calculator{
    add(num1, num2){
        return num1 + num2;
    }
}
export default Calculator;

在同一级别,我创建了一个名为 Calculator.test.js 的新 Jest 单元测试,如下所示:

import './Calculator';

test('adds 1 + 2 to equal 3', () => {
  expect(new Calculator().add(1, 2)).toBe(3);
});

但是,当 Jest 测试工具运行时,会输出以下错误:

ReferenceError: Calculator is not defined

  3 |
  4 | test('adds 1 + 2 to equal 3', () => {
> 5 |   expect(new Calculator().add(1, 2)).toBe(3);
    |              ^
  6 | });
  7 |

  at Object.<anonymous> (src/services/Calculator.test.js:5:14)

知道我在这个特定的实现中做错了什么吗?

【问题讨论】:

    标签: javascript reactjs unit-testing jestjs


    【解决方案1】:

    在您的 Calculator.test.js 中试试这个:

    import Calculator from './Calculator';
    

    空导入(如import './Calculator';)仅加载模块,但实际上并不导入任何内容。

    【讨论】:

    • 是的,你没有声明 Calculator - 普通的导入不会创建 Calculator 变量 - Denis 的修改将使其工作
    猜你喜欢
    • 2020-03-25
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    • 2017-11-28
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    相关资源
    最近更新 更多