• Español
    • Inglés
    • Portugués
+34 917 994 070
info@fractalia.es
Grupo FractaliaGrupo FractaliaGrupo FractaliaGrupo Fractalia
  • Sobre Fractalia
    • Quiénes somos
    • Misión, visión y valores
    • Fractalia en el mundo
    • Políticas y certificaciones
    • Responsabilidad corporativa
    • I+D+i
    • Automatización
    • Trabaja con nosotros
  • Servicios
    • Centros de soporte tecnológico
    • Smart Support
    • Ciberseguridad
    • Digital Workplace
    • Cloud
    • WiFi
    • Cartelería digital
    • In-store Analytics
    • Smart projects
  • Sectores
    • Telecomunicaciones
    • Hoteles
    • Retail
    • Industria
    • Banca
    • Empresas de Alarmas
    • Seguros
    • Multiasistencia
    • Asociaciones profesionales y colectivos
  • Clientes finales
    • Residencial
    • Pymes
    • Grandes empresas
  • Contacto

Desarrollo dirigido por Test (TDD) 2/2

    Home IT Desarrollo dirigido por Test (TDD) 2/2
    NextPrevious

    Desarrollo dirigido por Test (TDD) 2/2

    By Redaccion | IT | 0 comment | 9 abril, 2014 | 0

    En el post anterior (http://goo.gl/irWWbH) hicimos una introducción de la metodología de desarrollo dirigido por test (TTD) e identificamos tres modos de efectuar pruebas, dos desde el lado del cliente y una desde el lado del servidor. En este post, introducimos ejemplo de ejecución de los modos:

    • Karma – Usando Jasmine en el lado del cliente
    • Jamine –  node en el lado del servidor

    Jasmine con Karma

    Continuamos con el ejemplo del post anterior, es decir, una aplicación web sencilla desarrollada con Angjular js, con la siguiente estructura:

    TDD1. Código ejemplo

    Ahora vamos a ver como probamos la aplicación pero esta vez empleando Karma. Y para hacerlo, primero tenemos que crear un archivo de configuración karma, donde colocaremos los archivos y carpetas que necesitamos vincular para la ejecución de nuestra prueba. Para crear el archivo en este caso emplearemos el proceso automatizado que Karma nos ofrece. Los pasos que se deben seguir son los siguientes:

    • Crear un archivo de configuración para Karma denominado karma.config.js
    • Configurar este archivo con los nuestros archivos, navegadores, etc.
    • Iniciar el servidor de Karma y esperar a ver qué pasa.

    Ahora para crear el archivo de configuración, únicamente debemos ejecutar este comando en el terminar y pulsar la tecla enter, pues este proceso lo vamos a configurar manualmente.

    TDD0. Código ejemplo

    Una vez creado el archivo, la nueva estructura del proyecto será así:

    TDD2. Código ejemplo

    Debemos de cambiar en el archivo Karma.config.js las dos estructuras donde definimos los archivos incluidos y excluidos.

    TDD3. Código ejemplo

    Una vez efectuados los cambios, el código deberá de tener este aspecto:

    TDD. Código ejemplo

    Advertencia: Mucho cuidado con el orden de inserción de los archivos ya que el sistema podría dejar de funcionar. Se recomienda usar el orden que aparece en este documento antes de probar nuevos términos. Es conveniente seguir la metodología del programador y comprobar que funciona correctamente.

    Una vez que haya configurado todo, guarde el archivo y ejecute el servidor de prueba (Karma). Para ello basta con ejecutar el siguiente comando en el terminal:

    TDD. Código ejemplo

    Por defecto se supervisarán los cambios en el código para volver a probar, así que no es necesario parar para relanzar manualmente el servidor cada vez que se produzca un cambio en el código, karma lo hace automáticamente!!

    Una vez puesta en marcha la prueba, sólo nos queda comprobar el resultado de las pruebas de aprobación y de rechazo.

    Karma además abre la ventada del navegador cuando se ejecuta. Este es el navegador que se haya establecido por defecto en el archivo de configuración. El archivo de configuración es muy sencillo, no tiene apenas nada en su interior, excepto una cabecera y un botón denominado debug. Si se presiona sobre este botón, se abrirá otra pestaña  que también está vacía. Por lo tanto, lo que realmente se debe hacer es comprobar la consola de JavaScript con las herramientas de desarrollo del navegador. Es ahí donde aparecerá el resultado de las pruebas efectuadas.

    Los resultados obtenidos a partir de Karma no son tan visuales como los obtenidos a partir de Jasmine, pero al menos, no es necesario poner en marcha todo el navegador manualmente para abrir cada una de las páginas de SpecRunner.html ya que Karma tiene otra línea de configuración donde se puede especificar en qué navegador se desea probar la aplicación y una vez introducida dicha configuración, Karma lanzará todos los navegadores, al mismo que tiempo que se puede ir depurando los resultados de las pruebas. El sistema por defecto, utiliza el navegador Chrome, pero el usuario puede agregar todos los navegadores que desee.

    TDD. Código ejemplo

    Un ejemplo de configuración podría ser:

    TDD. Código ejemplo

    Trate de cambiar y ver el resultado. Es realmente increíble y útil cuando se necesita para comprobar la compatibilidad entre navegadores.

    Advertencia: es necesario tener configurado en todos los procesos el navegador en el que desea probar la aplicación en el ordenador. De lo contrario Karma no lo encontrará.

    Jasmine -Node

    Finalmente vamos a indicar un ejemplo de pruebas TDD, según el tipo Jamine –  node en el lado del servidor, de esta forma aprenderemos otra herramienta interesante para poder probar Node js y sus funciones y además no únicamente del lado del cliente, sino del lado del servidor. Los pasos que debemos ejecutar en este caso son:

    • Crear el archivo server.spec.js para almacenar las pruebas que queremos hacer con el servidor dentro de la carpeta de especificaciones.
    • Excluir este archivo dentro de la carpeta de especificaciones.
    • Iniciar la herramienta de Jasmine-nodo para probar el servidor y mostrar los resultados de la prueba en el terminal.

    En este caso, el server.spec.js se verá de la siguiente forma:

    TDD. Código ejemplo

    Como estamos usando una llamada asincrónica para llamar al servidor, tenemos que indicarle a la prueba el momento en que el servidor ha terminado, por lo que utilizaremos la función done. Lo pasamos en la prueba de código y al terminar llamamos a la función done (). Esto se debe a que el servidor lo pide y nos espera para responder, pero no sabemos a priori si esto va a suceder y si nosotros podemos bloquear la ejecución del programa. Por ello, utilizaremos una “devolución de llamada” que se pone en marcha cuando el servidor responde a nuestra petición.

    Una vez que tenemos los server.spec.js configurados, se agrega a los archivos excluidos en el Karma.config.js por lo que el código dentro de los karma.config.js será:

    TDD. Código ejemplo

    Y debería tener este aspecto:

    TDD. Código ejemplo

    Finalmente, una vez que tenemos todo preparado, sólo tenemos que abrir la aplicación de Jasmine-nodo para probar nuestro código. Para hacer esto, en primer lugar debemos abrir un terminal y luego ejecutar el siguiendo comando:

    TDD. Código ejemplo

    Compruebe la salida y verá nuestro responde a la ruta localhost:5000.

    Después de este artículo, deseamos que esté preparado para utilizar TDD y probar aplicaciones web tanto desde el lado del cliente al lado del servidor.

    ¡Buena suerte!

    No tags.

    Related Post

    • Protege tu Negocio frente a Amenazas Digitales

      By mj | Comments are Closed

      Estrategias Clave de Ciberseguridad para Empresas y PYMES en 2024: Protege tu Negocio frente a Amenazas Digitales En el entorno empresarial actual, las amenazas cibernéticas están en constante evolución. Para 2024, las empresas, incluidas lasRead more

    • Cómo Enfrentar el Desafío de los Ciberataques a la Cadena de Suministro en 2024

      By mj | Comments are Closed

      En la actualidad, las empresas operan en un entorno globalizado y digitalizado donde la interconectividad entre proveedores, distribuidores y socios estratégicos es crucial para la eficiencia operativa. No obstante, esta misma conectividad ha introducido riesgosRead more

    • Beneficios que ofrecen las Tecnologías de la información y Redes Sociales Corporativas a las pymes

      By mj | Comments are Closed

      En los últimos años, las Pymes españolas se han concienciado de las ventajas de las TICs y las redes sociales corporativas  para las empresas.  Las TIC a través de las redes sociales corporativas han supuesto grandes cambiosRead more

    • La importancia de un buen soporte tecnológico en las empresas

      By mj | Comments are Closed

      El soporte TI suele ser visto como una necesidad exclusiva de las grandes empresas, pero no es así y hoy día toda empresa debe tener en cuenta la importancia de un buen soporte tecnológico paraRead more

    • CENTROS DE SOPORTE TÉCNICO Y TECNOLOGICO

      By mj | Comments are Closed

      El soporte TI se ha convertido en un componente integral para para la operación y administración exitosa de su negocio Contar con un equipo profesional de acompañamiento en todo lo relacionado con tu infraestructura tecnológica,Read more

    Leave a Comment

    Cancelar la respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


    El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.

    NextPrevious

    Buscar

    Categories

    • cartelería Digital
    • Ciberseguridad
    • cloud
    • Corporativo
    • Digital Signage
    • digital signage
    • Empresas de Alarmas
    • Hogar Digital
    • Hotel
    • IA
    • Innovación
    • Internet
    • Internet of things
    • IT
    • Mobile Advertising
    • Publicidad Dinamica
    • Retail
    • Servicio WiFi
    • servicios cloud
    • Sin categorizar
    • Smart Projects
    • Soluciones de Retail Analytics

    Recent Posts

    • La Evolución de la Seguridad Empresarial y las Soluciones Clave en Fractalia
    • La Importancia de la Inteligencia Artificial en la Detección de Amenazas Cibernéticas
    • Protege tu Negocio frente a Amenazas Digitales
    • Cómo Enfrentar el Desafío de los Ciberataques a la Cadena de Suministro en 2024
    • Transformación Digital: Cómo las Empresas Pueden Prepararse para el Futuro

    Fractalia

    Fractalia cuenta con más de 25 años de experiencia y una sólida presencia internacional con actividad en 12 países de todo el mundo. Ofrecemos vanguardismo tecnológico, experiencia y cercanía para innovar y crecer con nuestros clientes.

    Visite nuestro blog
    Aviso Legal
    Política Privacidad
    Política Cookies
    Panel Cookies

    CANAL DE ÉTICA
    CONTACTAR

    FRACTALIA COMPROMETIDA

    Fractalia está comprometida a aplicar su Sistema de Gestión Integrado.

    Más información

    ¿QUIERES TRABAJAR CON NOSOTROS?

    Si quieres formar parte de un equipo orientado a la innovación y a la mejora continua para que cada acción de la compañía aporte valor a nuestros clientes, no dudes en ponerte en contacto con nosotros.

    ÚNETE
    Grupo Fractalia © 2025
    • Sobre Fractalia
      • Quiénes somos
      • Misión, visión y valores
      • Fractalia en el mundo
      • Políticas y certificaciones
      • Responsabilidad corporativa
      • I+D+i
      • Automatización
      • Trabaja con nosotros
    • Servicios
      • Centros de soporte tecnológico
      • Smart Support
      • Ciberseguridad
      • Digital Workplace
      • Cloud
      • WiFi
      • Cartelería digital
      • In-store Analytics
      • Smart projects
    • Sectores
      • Telecomunicaciones
      • Hoteles
      • Retail
      • Industria
      • Banca
      • Empresas de Alarmas
      • Seguros
      • Multiasistencia
      • Asociaciones profesionales y colectivos
    • Clientes finales
      • Residencial
      • Pymes
      • Grandes empresas
    • Contacto
    • Español
      • Inglés
      • Portugués
    Grupo Fractalia