Sinon: L'utilisation de Sinon avec Webpack et Babel échoue lors de l'importation

Créé le 8 sept. 2015  ·  26Commentaires  ·  Source: sinonjs/sinon

Lorsque vous essayez d'importer sinon dans un test avec "import sinon from 'sinon'" ou "var sinon = require ('sinon')". J'obtiens l'erreur suivante:

TypeError: 'undefined' n'est pas un objet (évaluation de 'modules [moduleId] .call')

Désormais, sinon est inutilisable dans les projets ES6. Est-il possible de réparer ça?

var sinon = require ('sinon');

1.x AMD Bug Help wanted

Commentaire le plus utile

PS. Vous pouvez obtenir la pré-version de 2.0 en faisant npm install sinon @ next

Tous les 26 commentaires

Utilisez-vous sinon de npm? Quelle version?

Ce numéro de webpack couvre la même chose, sans solution solide et sans beaucoup de travail autour du problème: webpack / webpack # 304. Ce n'est pas exactement la même erreur, mais fondamentalement le même problème.

Oui, j'utilise la dernière version de npm.

Oui, j'utilise la dernière version de npm.

Juste pour des raisons d'histoire, ce serait formidable si vous pouviez fournir le numéro de version. Les futurs lecteurs de ce fil sauraient alors de quelle version vous parlez.

Ce numéro de webpack couvre la même chose, sans solution solide et sans beaucoup de travail autour du problème: webpack / webpack # 304. Ce n'est pas exactement la même erreur, mais fondamentalement le même problème.

Ouais, il semble que le module-_mess_ dans Sinon devient de plus en plus un problème. J'ai fait quelques tentatives pour le réécrire pour CommonJS, mais les choses sont compliquées . Les demandes de tirage sont les bienvenues :)

J'ai créé un ticket pour le travail de portage de la source sur CommonJS # 834, ce qui évitera probablement ce problème.

Je pense que ce problème est maintenant résolu dans le master avec # 850

Des mises à jour à ce sujet? # 850 ne résout pas le problème.

PS: j'utilise la v1.17.0

@Robertmw vous pouvez essayer de pointer sinon vers git dans votre package.json pour obtenir le dernier master et voir si cela aide

@grassator J'ai essayé avec le git ci-dessous de https://github.com/webpack/webpack/issues/304#issuecomment -136922511 mais je vais l'essayer avec le git original tout de suite.

devDependencies: {
     "sinon": "git+https://github.com/uberVU/Sinon.JS"
 }

@grassator Je peux confirmer ce point la dépendance de mon package.json à:

"sinon": "git+https://github.com/sinonjs/sinon.git"

résout mes problèmes avec Webpack.

Je suis également confronté au même problème. Pour l'instant, j'utilise require('sinon') avant d'initialiser babel.

@tusharmath : avez-vous essayé d'utiliser la version hébergée sur GitHub comme mentionné ci-dessus? Les correctifs pour cela vont dans la version 2, qui n'a pas encore été publiée. Il est peu probable que cela soit corrigé dans la branche 1.x.

@ fatso83 Je peux confirmer que l'utilisation de master résout le problème. Désolé d'apprendre que le correctif ne sera pas converti en 1.x.

La version 2.0 devrait bientôt arriver, donc rien de triste

J'ai eu un projet reposant sur la branche sinon-2.0 (git: //github.com/cjohansen/Sinon.JS.git#sinon-2.0). Cela a très bien fonctionné jusqu'à ce que je l'ai essayé aujourd'hui. La branche semble avoir disparu. Existe-t-il encore un remplaçant approprié pour cette branche?

@ frank-weindel: La branche master est ce qui devient en fait 2.0, vous pouvez donc tout aussi bien le signaler. Une pré-version de 2.0 devrait être disponible sur NPM dans quelques jours.

PS. Vous pouvez obtenir la pré-version de 2.0 en faisant npm install sinon @ next

une mise à jour sur le moment où sinon 2 sera @latest au lieu de @next?

Nous avons besoin d'aide pour sortir Sinon 2. Consultez les numéros 991 et 1000 (et les problèmes associés) pour connaître les gros problèmes restants si vous pouvez consacrer du temps à nous aider.

La note # 966 suit les tâches exceptionnelles requises pour l'expédition Sinon 2.0 qui utilise des modules CommonJS en interne - aide très appréciée pour la faire sortir.

essayez de l'utiliser comme plugin webpack

...
plugins: [
        new webpack.ProvidePlugin( {
          'sinon': 'sinon'
       })
      ],
...

Pour mémoire, l'utiliser comme avec webpack.ProvidePlugin ne fonctionne pas non plus.

Personnellement, j'ai juste arrêté d'utiliser Karma et donc pas besoin de Webpack pour les tests unitaires. Cela les rend beaucoup plus rapides à courir également. Ce problème existe-t-il toujours? Sinon, nous pouvons le fermer.

Le problème existe toujours dans sinon <2.0, qui n'est toujours pas officiellement publié. Je recommande de fermer ce problème avec un correctif ou lorsque sinon 2.0 est livré.

Cela fonctionne dans Sinon 2.0 et le README a depuis longtemps un GRAND AVERTISSEMENT FAT que les bundlers comme WebPack _ne fonctionnent pas_ avec Sinon 1.x. Si vous avez besoin de regrouper, utilisez l'une des versions préliminaires de Sinon. Clôture ceci.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

byohay picture byohay  ·  3Commentaires

fearphage picture fearphage  ·  3Commentaires

ndhoule picture ndhoule  ·  4Commentaires

optimatex picture optimatex  ·  4Commentaires

NathanHazout picture NathanHazout  ·  3Commentaires