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.
