javascript - Testning med Jest - TypeError: kan inte läsa egenskapen 'forEach' av undefined


Jag skapade ett exempelprojekt för att skriva tester med Jest. Jag följde några handledningar.

Jag lade till en enkel beräkningsfunktion i en TypeScript-fil som nedan.

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;
    }
  }

Sedan lade jag till en testfil som nedan.

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);
  });

Sedan försökte jag köra testerna som nämns nedan. Då fick jag detta fel.

PS C:TestProject> npm t

[email test C:TestProject jest

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

TypeError: Kan inte läsa egenskapen 'forEach' av undefined vid default.readdir (C:\TestProject\node_modules\jest-haste-map\build\crawlers\node.js:49:13) vid go$readdir$cb (C:\TestProject\node_modules\jest\node_modules\graceful-fs\graceful-fs.js:149:14) vid FSReqWrap.oncomplete (fs.js:135:15) npm ERR! Testet misslyckades. Se ovan för mer detaljer.

Sedan bläddrar jag till den filen som visar ett fel och det nämns nedan.

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

Svar #1

Ett problem som kan orsaka detta fel: kontrollera att du är inne i rätt katalog.

Relaterade artiklar