Comment puis-je tester "normal" (non-Nœud spécifique) des fonctions JavaScript avec Moka?

Cela semble être devrait être extrêmement simple; cependant, après deux heures de lecture et d'essais et d'erreurs, sans succès, je suis d'admettre la défaite et de vous demander de vous les gars!

Je suis en train d'utiliser Moka avec Should.js pour tester certaines fonctions JavaScript, mais je suis en cours d'exécution dans la portée des questions. J'ai simplifié les plus élémentaires de cas de test, mais je ne peux pas le faire fonctionner.

J'ai un fichier nommé functions.js, qui contient les éléments suivants:

function testFunction() {
    return 1;
}

Et mon tests.js (situé dans le même dossier) contenu:

require('./functions.js')

describe('tests', function(){
    describe('testFunction', function(){
        it('should return 1', function(){
            testFunction().should.equal(1);
        })
    })
})

Ce test échoue avec un ReferenceError: testFunction is not defined.

Je peux voir pourquoi, parce que la plupart des exemples que j'ai trouvé, soit de fixer des objets et des fonctions pour le Nœud global objet ou de les exporter à l'aide de module.exports—mais l'utilisation de ces approches signifie mon code de fonction serait de générer des erreurs dans un navigateur standard de la situation, où ces objets n'existent pas.

Alors, comment puis-je avoir accès autonome des fonctions qui sont déclarées dans un fichier script distinct de mes tests, sans l'aide d'un Noeud spécifique de la syntaxe?

  • Avez-vous utilisé exports.testFunction = testFunction dans votre functions.js ?
  • Non, le contenu complet de functions.js sont affichés. Veuillez lire la question encore une fois—je préciser que je ne veux pas utiliser un Nœud spécifique de la syntaxe dans le fichier source.
InformationsquelleAutor Mark Bell | 2012-04-18