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.