node.js - Jest-integration med Adonis V5


Jag utvecklar en applikation med Adonis v5 men dess testrunner är inte färdig. Så mitt tillfälliga sätt är att använda Jest i dess ställe. Jag fick det att fungera men jag har problem med att importera typer från Adonis.

I vilken modell som helst har jag följande import:

import { BaseModel, column } from '@ioc:Adonis/Lucid/Orm'

För att lösa aliaset lade jag till denna regel i jest.config.js:

moduleNameMapper: {
  '^App(.*)$': '<rootDir>/app$1',
  '^@ioc:Adonis/Lucid/Database$': '@adonisjs/lucid/build/src/Database/index.js',
  '^@ioc:Adonis/Lucid/Orm$': '@adonisjs/lucid/build/adonis-typings/orm.d.ts',
  //'^@ioc:Adonis/Core/Validator$': '',
},

Den tredje regeln pekar på den föregående importen. Inuti den pekade filen fann jag deklarationen av ett modul som exporterar de önskade typerna.

declare module '@ioc:Adonis/Lucid/Orm' {
    import { ScopeFn, LucidModel, HooksDecorator, ...
    ...

Den kompletta filen är denna.

När jag kör Jest får jag detta fel. Vad saknas för mig? Innan jag glömmer, jag använder ts-jest för att definiera inställningarna för Jest.

Relaterade artiklar