Si se trata de una prueba de unidad, estoy Supongo que verifica las salidas de la función cuando se le dan ciertas entradas?
Aquí es mi opinión:
Usted debe prepararse para el caso en que document.ready se llama y el caso en que no lo es.
Por lo tanto, su prueba unitaria debe ejecutar cada función dos veces: una para simular una llamada preparada y otra para simular una llamada preparada para el envío. Es decir, debería tener un análisis en el que todo lo que sucede en el documento se ejecute, y otro en el que simplemente se ignore (presumiblemente se lo llame más adelante en el ciclo de vida).
EDITAR: Simplemente volvió a leer la pregunta y la entendió un poco más. Podrías simplemente anular $ (documento). Listo para hacer lo que quieras (que NO es esperar a que el evento DOMLoaded se dispare, sino que ejecute las funciones de inmediato). Este fragmento reemplazará la función $ (document) .ready con una función que hace exactamente eso. Debería ejecutarse antes de cualquier prueba unitaria. caso de prueba
var postReady = true; // or false to ignore the function calls.
jQuery.fn.ready = function(fn)
{
if(postReady && fn) fn();
}
Ejemplo:
<html><head><title>whatever</title>
<script type="text/javascript" src="/JS/jquery-1.3.2.js"></script>
<script type="text/javascript">
var postReady = true; // or false to ignore the function calls.
jQuery.fn.ready = function(fn)
{
alert("We stole ready!");
if(postReady && fn) fn();
}
$(document).ready(function()
{
alert("The function is called.");
});
</script>
</head><body></body>
</html>
estoy de acuerdo que así es como lo hago, pero la mayoría de las personas probablemente no necesiten una función init. –