使用Jest进行测试 - TypeError:无法读取属性' forEach'未定义的

时间:2018-06-19 00:57:31

标签: 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测试C:TestProject     开玩笑

  
     

C:TestProject \ node_modules \开玩笑-急速地图\构建\爬虫\的node.js:49         names.forEach(file => {               ^

     

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

然后我浏览到显示错误的文件,如下所述。

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

1 个答案:

答案 0 :(得分:0)

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