Skip to content

Module not found when I run cucumber js test - ERR_MODULE_NOT_FOUND #2562

Open
@Ali-Kent

Description

@Ali-Kent

Hello,
I installed cucumber-js and tsflow on a React Native mobile app project. After writing a ".feature" file and its corresponding steps definition file for a user story, I get an error when I run the test script. Here's the error:

Error: Cannot find package '@/src' imported from C:\Users\Invité\Documents\code\sychus\sychus-mobile\tests\acceptance\features\step-definitions\search-housing.steps.ts
    at Object.getPackageJSONURL (node:internal/modules/package_json_reader:268:9)
    at packageResolve (node:internal/modules/esm/resolve:768:81)
    at moduleResolve (node:internal/modules/esm/resolve:854:18)
    at defaultResolve (node:internal/modules/esm/resolve:984:11)
    at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:780:12)
    at ModuleLoader.#cachedDefaultResolve (node:internal/modules/esm/loader:704:25)
    at ModuleLoader.#resolveAndMaybeBlockOnLoaderThread (node:internal/modules/esm/loader:739:38)
    at ModuleLoader.resolveSync (node:internal/modules/esm/loader:762:52)
    at ModuleLoader.#cachedResolveSync (node:internal/modules/esm/loader:723:25)
    at ModuleLoader.getModuleJobForRequire (node:internal/modules/esm/loader:451:50) {
  code: 'ERR_MODULE_NOT_FOUND'
}

Here's the error when I use import with relative path :

Error: Cannot find module 'C:\Users\Invité\Documents\code\sychus\sychus-mobile\src\interface-adapters\gateways\InMemoryHousingGateway' imported from C:\Users\Invité\Documents\code\sychus\sychus-mobile\tests\acceptance\features\step-definitions\search-housing.steps.ts
    at finalizeResolution (node:internal/modules/esm/resolve:275:11)
    at moduleResolve (node:internal/modules/esm/resolve:860:10)
    at defaultResolve (node:internal/modules/esm/resolve:984:11)
    at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:780:12)
    at ModuleLoader.#cachedDefaultResolve (node:internal/modules/esm/loader:704:25)
    at ModuleLoader.#resolveAndMaybeBlockOnLoaderThread (node:internal/modules/esm/loader:739:38)
    at ModuleLoader.resolveSync (node:internal/modules/esm/loader:762:52)
    at ModuleLoader.#cachedResolveSync (node:internal/modules/esm/loader:723:25)
    at ModuleLoader.getModuleJobForRequire (node:internal/modules/esm/loader:451:50)
    at new ModuleJobSync (node:internal/modules/esm/module_job:344:34) {
  code: 'ERR_MODULE_NOT_FOUND',
  url: 'file:///C:/Users/Invit%C3%A9/Documents/code/sychus/sychus-mobile/src/interface-adapters/gateways/InMemoryHousingGateway'
}

Here's the steps definition file :

import HousingGateway from '@/src/enterprise-business-rules/HousingGateway';
import InMemoryHousingGateway from '@/src/interface-adapters/gateways/InMemoryHousingGateway';
import tsflow from 'cucumber-tsflow';


const { binding, given } = tsflow;

const housingGateway: HousingGateway = new InMemoryHousingGateway();

@binding()
export class SearchHousingSteps {
    
    @given(/housings exist/)
    public givenHousingExist(housings: any): void {
        //TODO
    }
    
    @given(/bookings exist/)
    public givenBookingsExist(dataTable: any): void {
        //TODO
    }
}

Here's the tsconfig file :

{
  "extends": "expo/tsconfig.base",
  "compilerOptions": {
    "strict": true,
    "experimentalDecorators": true,
    "paths": {
      "@/*": [
        "./*"
      ]
    }
  },
  "include": [
    "**/*.ts",
    "**/*.tsx",
    ".expo/types/**/*.ts",
    "expo-env.d.ts"
  ]
}

Here's the cucumber.js file for the cli :

let common = [
  'tests/acceptance/features/**/*.feature',                // Specify our feature files
  '--require-module ts-node/register',    // Load TypeScript module
  '--require tests/acceptance/features/step-definitions/**/*.ts',   // Load step definitions
].join(' ');

module.exports = {
  default: common
};

Can you tell me where this error might be coming from?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions