J'essaie de migrer d'AVA vers Jest. Dans AVA, vous pouvez définir ava.setup
, dans lequel vous définissez l'environnement jsdom
. Par exemple, créer la structure DOM et effectuer les polyfills nécessaires (localStorage).
Comment puis-je accomplir cela dans Jest? Actuellement, j'utilise beforeEach
dans chaque suite de tests, ce qui ne semble pas être la meilleure solution.
Merci d'avance!
Grande question.
Jest est livré avec jsdom et l'environnement déjà configuré (vous pouvez le remplacer avec testEnvironment
setting ).
Si vous avez besoin de configurer plus d'aspects de l'environnement, vous pouvez utiliser le setupTestFrameworkScriptFile
setting pour pointer vers un fichier qui s'exécute avant l'exécution de tous vos tests.
Par exemple, si vous avez besoin de window.yourVar
pour être disponible sur la fenêtre de tous vos tests, vous devez l'ajouter à votre package.json
:
"jest": {
"setupTestFrameworkScriptFile": "tests/setup.js"
}
Et dans tests/setup.js:
Object.defineProperty(window, 'yourVar', { value: 'yourValue });