developit / developit/mitt

How to mock mitt to run tests in Jest?

Offen
#199 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
TypeScript
Sterne
11.9k
Forks
488
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Hi, I'm trying to create a mock of mitt for the unit tests of my components in Vue 3, however, I'm not succeeding, can you help?

mitt instance file (in root):
```js
import mitt from 'mitt'

export const emitirGlobal = mitt()

```

In my componente A:
```js
import { emitirGlobal } from "@/mitt"

{ ... }

emitirGlobal.emit("recarregarAtividades")
```

In my componente B:
```js
import { emitirGlobal } from "@/mitt"

{...}

emitirGlobal.on("recarregarAtividades", async (): Promise => {
await recarregarAtividades()
})
```

My archive ```jest-setup.ts```:
```js
import '@testing-library/jest-dom'
import { config } from '@vue/test-utils'
import i18n from '@/i18n'

config.global.plugins = [i18n]

jest.mock('mitt', () => {
const emitirGlobal = {
on: jest.fn(),
emit: jest.fn(),
}
return { emitirGlobal }
})

global.console = {
...console,
warn: jest.fn(),
error: jest.fn(),
}

module.exports = {
// Outras configurações do Jest...
moduleNameMapper: {
'^@/(.*)$': '/src/$1',
},
setupFilesAfterEnv: ['/jest-setup.ts'],
};

```

---------------------------------------------
I've also tried adding "mitt" to Jest's "plugins", but it didn't work:
```js
import '@testing-library/jest-dom'
import { config } from '@vue/test-utils'
import i18n from '@/i18n'
import mitt from 'mitt'

config.global.plugins = [i18n, mitt()]

global.console = {
...console,
warn: jest.fn(),
error: jest.fn(),
}
```

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.