Pregunta

Estoy usando Qunit, que es excelente.

He adjunto mi aplicación JS en el (function () {})(); salvadera. Esto oculta mucho código que no quiero público, pero también necesito probar ese código.

Aquí hay un ejemplo de cómo funciona esto:

(function () {  

    var PublicAPI = window.PublicAPI = {};        
    PublicAPI.publicFunction = function (foo) {
        PrivateAPI.privateFunction(foo);
        return 'bar';
    };

    var PrivateAPI = {};
    PrivateAPI.privateFunction: function (foo) {
       // Make secret stuff that never gets returned to the public
       // Could be an AJAX call.
    }

})();

Así que aquí puedo probar fácilmente la unidad PublicAPI.publicFunction, pero ¿cómo voy a probar? PrivateAPI.privateFunction ?

¿Fue útil?

Solución

Esta pregunta similar Lo resume bastante bien ... lo más fácil es no tratar con los métodos privados, ya que pueden cambiar si lo desean ... Los métodos públicos son los que necesitan pruebas. Si desea probar sus funciones internas, debe dejar un gancho de algún tipo para que Qunit pueda encontrar.

Otros consejos

No puedes. No hay forma de acceder a él desde fuera de ese alcance. Su única esperanza es probarlo, es decir, las funciones de prueba en el objeto a nivel mundial que están utilizando sus funciones internas.

Mejor aún: no hagas funciones privadas. ¿Cual es el problema?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top