Open
Description
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
Labels
No labels