2015-03-21 1 views
2

Cette unité de code javascript est-elle testable avec Jasmine? Sinon, comment pouvons-nous rendre l'unité testable?Cette unité JavaScript est-elle testable avec Jasmine?

Le problème est fondamentalement la fonction helloworld n'est pas accessible dans un fichier js spec de test, car il n'est pas dans la portée globale. Comment refactoriser le code de sorte qu'il soit accessible dans le fichier de spécification de test?

(function($){ 
    function helloWorld() { 
      return "Hello world!"; 
     } 
})(jQuery); 

Répondre

4

Non, vous ne pouvez pas tester une fonction qui n'est pas visible.

Vous devez conditionnellement l'exporter dans votre environnement de test en définissant une constante globale:

(function ($) { 
    var exports = window.TESTING ? window : {} 

    exports.helloWorld = function() { 
    // ... 
    }; 

})(jQuery);