Something went wrong. Try again.
Something went wrong. Try again.
1.7 kB · 62 lines
TypeScript
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263/*|--------------------------------------------------------------------------| Test runner entrypoint|--------------------------------------------------------------------------|| The "test.ts" file is the entrypoint for running tests using Japa.|| Either you can run this file directly or use the "test"| command to run this file and monitor file changes.|*/
process.env.NODE_ENV = 'test'
import 'reflect-metadata'import { Ignitor, prettyPrintError } from '@adonisjs/core/ignitor'import { configure, processCLIArgs, run } from '@japa/runner'
/** * URL to the application root. AdonisJS need it to resolve * paths to file and directories for scaffolding commands */const APP_ROOT = new URL('../', import.meta.url)
/** * The importer is used to import files in context of the * application. */const IMPORTER = (filePath: string) => { if (filePath.startsWith('./') || filePath.startsWith('../')) { return import(new URL(filePath, APP_ROOT).href) } return import(filePath)}
new Ignitor(APP_ROOT, { importer: IMPORTER }) .tap((app) => { app.booting(async () => { await import('#start/env') }) app.listen('SIGTERM', () => app.terminate()) app.listenIf(app.managedByPm2, 'SIGINT', () => app.terminate()) }) .testRunner() .configure(async (app) => { const { runnerHooks, ...config } = await import('../tests/bootstrap.js')
processCLIArgs(process.argv.splice(2)) configure({ ...app.rcFile.tests, ...config, ...{ setup: runnerHooks.setup, teardown: runnerHooks.teardown.concat([() => app.terminate()]), }, }) }) .run(() => run()) .catch((error) => { process.exitCode = 1 prettyPrintError(error) })