Comment Charger un Fichier de Test avec le Jasmin Nœud?
J'ai un simple fichier JavaScript, color.js
, et un correspondant dans le fichier de spécification, colorSpec.js
.
color.js:
function Color()
{
}
colorSpec.js:
require('./color.js');
describe("color", function() {
it("should work", function() {
new Color(255, 255, 255);
});
});
Quand je lance jasmine-node colorSpec.js
, j'obtiens l'exception suivante:
ReferenceError: Color is not defined
Comment puis-je obtenir de Jasmin pour charger mon color.js
fichier avant d'exécuter colorSpec.js
?
- Je viens de trouver cette question, qui est similaire: stackoverflow.com/questions/4662851/...
Vous devez vous connecter pour publier un commentaire.
vous pouvez charger votre color.js dans le colorSpec.js avec un require(). Je ne vois pas comment le jasmin peut deviner toutes les dépendances sans vous dire jasmin exactement ce qu'ils sont dans votre fichier spec.
Edit :
Un moyen rapide et sale de la solution , mais peut-être il ya quelque chose builtin Jasmine pour ce faire :
votre classe devrait être disponible avec le jasmin
si vous appelez exiger directement sur votre dossier, je pense que vous avez besoin pour créer un module et de l'exporter
require('./color.js');
en haut de mon fichier spec mais je suis encore en trainRefereceError
exceptions.node.js
devrait avoir quelque chose de construit dans qui ne de cette. Encore, merci pour l'aide. S'il vous plaît laissez-moi savoir si vous rencontrez un autre moyen d'y parvenir.Lors de l'utilisation de Jasmin Nœud, vous aurez envie de l'exportation de votre objet/fonction/classe, dans ce cas, la Couleur, comme un nœud du module. Je vais essayer de faire mes modules de travail dans les deux nœud ou d'un navigateur, comme suit:
Structure De Dossier:
src/color.js
spec/colorSpec.js
module
existence logique de la vérification? Quand peut -module
êtreundefined
?TypeError: util.roundDecimal is not a function
La seule chose qui fonctionne est deexports.roundDecimal = function
mais je ne peux pas parce que mon script est lu par quelque chose qui n'est pas ce queexports
estmodule.exports = { roundDecimal: roundDecimal }
Ce n'est pas comment exiger des œuvres. Votre
color.js
doit définir/exportation de quelque chose. Je suppose que vous utilisez require.js ici, pour la santé mentale.color.js
Puis dans votre spec:
require.js
. Je suis en train de construire une bibliothèque de couleurs et je ne voulais pas forcer les dépendances sur les personnes qui l'utilisent. Votre réponse est probablement la façon de le faire, mais ça ne correspond pas à mes besoins du projet.