javascript - 使用 Jest 进行测试 - TypeError : cannot read property 'forEach' of undefined

标签 javascript typescript testing npm jestjs

我创建了一个示例项目来使用 Jest 编写测试。我遵循了一些教程。

我在 typescript 文件中添加了一个简单的计算函数,如下所示。

Calc.cs

 export class Calc {
    public add(num1: number, num2: number) : number {
      return num1 + num2;
    }
    public subtract(num1: number, num2: number) : number {
      return num1 - num2;
    }
  }

然后添加了一个测试文件如下。

import { should } from 'chai';
import { Calc } from './Calc';
should();


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

然后我尝试运行下面提到的测试。然后我得到了这个错误。

PS C:TestProject> npm t

typescriptseleniumtestproject@1.0.0 test C:TestProject jest

C:TestProject\node_modules\jest-haste-map\build\crawlers\node.js:49 names.forEach(文件 => { ^

类型错误:无法读取未定义的属性“forEach” 在 default.readdir (C:\TestProject\node_modules\jest-haste-map\build\crawlers\node.js:49:13) 在 go$readdir$cb (C:\TestProject\node_modules\jest\node_modules\graceful-fs\graceful-fs.js:149:14) 在 FSReqWrap.oncomplete (fs.js:135:15) npm 错误!测试失败。有关详细信息,请参见上文。

然后我浏览到显示错误的那个文件,它在下面提到。

node_modules\jest-haste-map\build\crawlers\node.js

最佳答案

一个可能导致此错误的问题:检查您是否在正确的目录中。

关于javascript - 使用 Jest 进行测试 - TypeError : cannot read property 'forEach' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50919266/

相关文章:

javascript - 我可以在浏览器中运行 Jasmine + Protractor 测试吗?

testing - 如何在 SoapUI 中的所有测试步骤之间插入延迟?

javascript - 如何使整个屏幕变黑并突出显示菜单?

javascript - 如何在 RACTIVE.js 中将数字与 IF 语句一起添加?

javascript - 如何将后端(Express JS)提供的静态文件显示到React页面中?

javascript - 与在另一个窗口中打开的组件交互

javascript - Angular 12+ : Is there a Simple way to apply display mask/pipe for Reactive Form?

Angular 4单个API请求运行多次

javascript - 如何使用实现接口(interface)制作 Typescript 枚举

testing - 如何在单元测试中测试函数的输出 (stdout/stderr)