使用 Jest 进行测试 - TypeError:无法读取未定义的属性“forEach”
Posted
技术标签:
【中文标题】使用 Jest 进行测试 - TypeError:无法读取未定义的属性“forEach”【英文标题】:Testing with Jest - TypeError: cannot read property 'forEach' of undefined 【发布时间】:2018-11-27 21:04:24 【问题描述】:我创建了一个示例项目来使用 Jest 编写测试。我遵循了一些教程。
我在打字稿文件中添加了一个简单的计算函数,如下所示。
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\jest-haste-map\build\crawlers\node.js:49 names.forEach(文件 => ^
TypeError:无法读取未定义的属性“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 ERR!测试失败。有关详细信息,请参见上文。
然后我浏览到显示错误的文件,并在下面提到。
node_modules\jest-haste-map\build\crawlers\node.js
【问题讨论】:
请编辑您的问题并提供一些您自己的代码 我稍微编辑了帖子并添加了小代码。 【参考方案1】:可能导致此错误的一个问题:检查您是否位于正确的目录中。
【讨论】:
以上是关于使用 Jest 进行测试 - TypeError:无法读取未定义的属性“forEach”的主要内容,如果未能解决你的问题,请参考以下文章
TypeError:无法在使用 ReactDOM 的 Jest 测试中读取未定义的属性“渲染”
TypeError:运行 Jest 单元测试时,mxgraph 不是函数
渲染中的错误:“TypeError:无法读取未定义的属性'_t'”在使用 Jest 的单元测试中