Jest test runs indefinitely, & yarn run test --runInBand throws error Command failed with signal "SIGSEGV"

Viewed 30

My test runs indefinitely without results (see image below). I am pretty new to setting up backend testing environment. Any guidance is much appreciated.

I have provided the snippets of my code, please let me know if you need any additional information.

I tried the below commands.

--clearCache option which did not work

--runInBand option lead to a new error, error Command failed with signal "SIGSEGV".

// testHelper.js
import { DataSource, DataSourceOptions } from "typeorm";

import Database from "better-sqlite3";

export class TestHelper {
    private static _instance: TestHelper;

    private constructor() { }

    public static get instance(): TestHelper {
        if (!this._instance) this._instance = new TestHelper();

        return this._instance;
    }

    private dbConnect!: DataSource;
    private testdb!: any;
    async setupTestDB() {
        this.testdb = new Database(":memory:", { verbose: console.log });
        this.dbConnect = new DataSource({
            name: "default",
            type: "better-sqlite3",
            database: ":memory:",
            entities: ["src/entities/**/*.ts"],
            synchronize: true,
        } as DataSourceOptions);
        await this.dbConnect.initialize()
    }

    teardownTestDB() {
        this.dbConnect.destroy();
        this.testdb.close();
    }
}

// test.ts
import MyEntity from "entities/MyEntity";
import { TestHelper } from './__utils/testHelper';



beforeAll(async () => {
    return await TestHelper.instance.setupTestDB();
});

afterAll(() => {
    return TestHelper.instance.teardownTestDB();
});


test("create test data and fetch it", async () => {
    await MyEntity.insert({
        name: "sqlTestEntity"
    });
    let sqlTestEntity = await MyEntity.find({
        where: {
            id: '1'
        }
    });
    expect(sqlTestEntity[0].name).toBe("sqlTestEntity");
});

//package.json 

   "scripts": {
       ....
        "test": "NODE_OPTIONS=--experimental-vm-modules npx jest",
....
}


 "typeorm": "0.3",
 "@types/jest": "^28.1.7",
 "jest": "^28.1.3",

// jest.config.js 

/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
export default {
  preset: 'ts-jest',
  testEnvironment: 'node',
  testTimeout: 20000,
  roots: ['src'],
  modulePaths: ['<rootDir>/src'],
  testPathIgnorePatterns: [
    '<rootDir>/node_modules/', "/__utils"
  ],
  moduleDirectories: [
     "src"
  ],
  transform: {
    "^.+\\.js?$": "babel-jest",
    "^.+\\.ts?$": "ts-jest"
  },

  testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.(js?|tsx?)$",
  "transform": {
    "^.+\\.(t|j)s$": "ts-jest"
  },
  testEnvironment: "node",
  "moduleNameMapper": {
    "src/(.*)": "<rootDir>/src/$1"
  },
  globals: {
    "ts-jest": {
      "useESM": true
    }
  },
  extensionsToTreatAsEsm: ['.ts'],
  moduleNameMapper: {
    '^(\\.{1,2}/.*)\\.js$': '$1',
  },

};

Jest error image

0 Answers
Related