How to mock mitt to run tests in Jest?
- Langage dominant
- TypeScript
- Étoiles
- 11.9k
- Forks
- 488
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
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(),
}
```
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par l’instance mitt racine, les imports des composants A et B et jest-setup.ts, puis reproduisez l’échec du mock Jest signalé. Vérifiez comment mitt est importé et ce que les tests attendent de ses méthodes on et emit ; le travail est terminé lorsque les deux composants peuvent être testés sans le véritable émetteur d’événements.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript, typescript
- Domaine
- frontend, testing
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100