0
votes

RéférenceError: réagir non défini dans les tests

J'utilise le mélange Laravel et j'apparaît que je ne peux pas obtenir de la Jest à trouver réagir si j'interprète ce problème correctement.

Mon test: P>

ReferenceError: React is not defined

      18 |         const { expanded } = this.state;
      19 |
    > 20 |         return (
         |         ^
      21 |             <div>
      22 |                 <nav
      23 |                     className="navbar"


0 commentaires

4 Réponses :


-1
votes

EDIT: Le problème semble certainement être avec votre configuration Babel, les navigateurs de réact de préréglage à l'aide de ES6 que la Jest qui cible le nœud ne fait pas, essayez ceci xxx pré>

ajoute également ceci à votre webpack.mix.js code> Pour faire connaître la node_modules (suppose que votre composant est situé dans le répertoire A / Modules) P>

.webpackConfig({
  resolve: {
    modules: [path.resolve(__dirname, 'resources/assets/js/modules'), 'node_modules']
  }
})


9 commentaires

Je vois des dépendances, je ne sais pas comment cela se rapporte à Babel étant configuré correctement.


J'ai les prérégles de Babel spécifiés dans mon paquet.json. Sous "Babel": {} ..


C'est génial et tandis que cela fonctionne bien pour MIX, qui utilise WebPack pour interpréter ES6 Imports Babel-Jest ne sera pas parce qu'il utilise Nodejs pour exécuter des tests. Cela signifie donc que vos tests devront utiliser une cible différente de votre application. Je ne vois pas votre .babelrc, donc je ne sais pas quels environnements que vous ciblez pour tester, mais je suppose que vous essayez de cibler des navigateurs pour tout.


Les résultats sont les mêmes à travers le conseil, peu importe où je spécifie ma configuration pour Babel.


.babelrc config?


L'utilisation d'un fichier .babelrc n'affecte pas l'utilisation d'un fichier babel.config.js. Si vous demandez de le voir, c'est littéralement l'équivalent de ce que j'avais dans mon paquet.json


Eh bien, car il est probablement un problème de configuration de Babel, votre réticence à fournir uniquement .babelrc ne fait que blesser vos propres chances d'obtenir la question de répondre à la question. Tag moi si vous décidez de le fournir et je vais essayer d'aider. Voici un bon article pour expliquer plus en détail moyenne.com/@adiach3nko/...


C'est le tutoriel littéral que j'ai suivi et il a noré les mêmes résultats.


Ajouté mon .babelrc



1
votes

DROITE Alors, la réponse à cette question est vraiment intéressante. Donc, comme vous pouvez savoir si vous venez de importer {composant} de 'réact'; Ensuite, Exporter Classe par défaut MyComponent étend le composant Il fonctionnera et rendra dans le navigateur. Toutefois, lorsque vous allez tester avec Jest, vous obtiendrez une réaction indéfinie même si vous l'importaez dans votre fichier de test.

La solution est simple, changez-la en Importation React, {Composant} de 'React';


1 commentaires

J'ai le même problème, mais cela n'a pas fonctionné pour moi.



-1
votes

Importation React dans Test

import React from 'react';


0 commentaires

1
votes

J'ai résolu de cette façon: importer * comme réagit de "réagir";


0 commentaires