Estoy escribiendo pruebas unitarias para un módulo en una pequeña aplicación Javascript. Para mantener la interfaz limpia, algunos detalles de la implementación son cerrados por una función anónima (el patrón habitual de JS para la privacidad). Sin embargo, durante la prueba, necesito acceder/simular/verificar las partes privadas.Prueba de caja blanca en Javascript: ¿cómo lidiar con la privacidad?
La mayoría de las pruebas que he escrito anteriormente han sido en Python, donde no hay variables privadas reales (miembros, identificadores, como quiera que los llame). Uno simplemente sugiere privacidad a través de un guion bajo para los usuarios, y lo ignora libremente mientras prueba el código. En los lenguajes OO con tipado estático, supongo que uno podría hacer accesibles a los miembros privados las pruebas convirtiéndolos para protegerlos y subclasificar el objeto que se probará. En Javascript, este último no se aplica, mientras que el primero parece una mala práctica.
Siempre podría recurrir a las pruebas de caja negra y simplemente verificar los resultados finales. Es el enfoque más simple y limpio, pero lamentablemente no es lo suficientemente detallado para mis necesidades.
Entonces, ¿existe una forma estándar de mantener las variables en privado mientras se conservan algunas puertas traseras para probar en Javascript?
Hmm, no me gusta cuando la gente se burla de mis partes privadas – Martin