¿Cuál es la mejor manera de saber cuándo su JavaScript está roto en IE?

La mejor manera es tener un servidor de integración continua que ejecute Jenkins (http://jenkins-ci.org/) (anteriormente conocido como “Hudson”) o algo similar.

El servidor de CI vigila su repositorio de git, y cada vez que se realiza un check-in ejecutará el conjunto de pruebas que prefiera: pruebas unitarias, pruebas de selenio, etc. Puede enviarte un correo electrónico cuando hay una rotura, o poner una construcción en rojo claro, o tocar una melodía alegre, o lo que quieras.

Para mi proyecto actual, usamos pepino para definir las pruebas de aceptación, que manejan los navegadores a través de Selenium 2.0 (también conocido como WebDriver). Estos se pueden ejecutar en cada registro en Firefox (o en un navegador sin cabeza, y en una segunda compilación más lenta en una amplia gama de plataformas / navegadores, incluido IE en una máquina virtual de Windows.

También utilizamos Jasmine para las pruebas unitarias de Javascript, que en teoría podrían ejecutarse en varios navegadores, aunque generalmente se supone que las pruebas de pepino detectarán la mayoría de los errores específicos del navegador, y queremos que las pruebas unitarias fallen rápidamente, por lo que se ejecutan en un navegador sin cabeza en su lugar.

TestSwarm es probablemente la mejor manera de hacerlo.
Como dice la página de inicio oficial, TestSwarm proporciona “Integración continua distribuida para Javascript”.
Puede encontrar TestSwarm aquí: http://swarm.jquery.org/ .
Su creador es John Resig, el mismo de JQuery.
Si echa un vistazo a la página wiki: https://github.com/jquery/testsw … comprenderá cómo funciona.
Básicamente, el servidor contiene las pruebas y éstas se distribuyen a los clientes, que realmente las ejecutan.
Cada cliente puede ejecutarse en una plataforma específica y puede probar cualquier navegador disponible.
Esto significa que no solo puede asegurarse de que IE no se rompa, sino que también Chrome en MACOSX hace lo mismo.
TestSwarm todavía está bajo pruebas pesadas pero parece muy prometedor 🙂

Solo una nota al margen, encuentro que si realmente sigo las sugerencias en jslint, atrapa el 90% de las cosas que se rompen para mí en IE. Ahora, nada de esto es CSS / display / etc, por lo que aún necesita muchas pruebas de IE, pero en cuanto a errores de sintaxis o cosas que IE odia, jslint ahora ahorra un montón de tiempo más tarde.

More Interesting

¿Qué es la implementación en SFDC?

¿Cuáles son los problemas asociados con los sitios web, servidores y bases de datos a medida que crecen significativamente? ¿Hay buenos libros, artículos o conferencias en línea que discutan este tema en profundidad?

¿Cuál es la regla de accesibilidad y explica diferentes niveles de accesibilidad en Java?

¿Qué sitio web debo desarrollar?

¿Por qué Internet no cambia a JSON en lugar de HTML?

¿Cuál es el mejor lenguaje / marco para construir una aplicación fintech? ¿Hay ventajas en términos de seguridad? ¿Hay fallas en el medio ambiente que descartarían una? ¿Uno normalmente escribe más rápido que otro? ¿Es una prueba más para el futuro?

¿Qué es la noción de directivas en AngularJS?

¿Cómo mantengo un programa C ++ en ejecución y sigo atendiendo las consultas cuando vienen?

¿Qué modelo de objeto utilizamos en JavaScript?

Cómo evitar que un usuario vea el mismo contenido de mi base de datos

¿Debo aprender desarrollo web de un curso en línea pagado o de sitios web como w3schools y recursos de YouTube?

¿Cómo crear un sitio web profesional en WordPress? ¿Cuáles son los conceptos básicos que debo saber al respecto?

¿Debería usar un marco para el desarrollo de sitios web? ¿Cuáles son las ventajas y desventajas?

¿Cuál es la diferencia entre 'return false' y 'return' cuando se intenta salir de una función?

¿Cómo poner en cola correctamente jQuery en WordPress? ¿Cuál es el script exacto en cola?