• English
    • Spanish
    • Portuguese
+34 917 994 070
info@fractalia.es
Grupo FractaliaGrupo FractaliaGrupo FractaliaGrupo Fractalia
  • About Fractalia
    • Who we are
    • Mission & Values
    • Fractalia in the world
    • Policies and certification
    • Corporate responsibility
    • R&D+i
    • Automation
    • Work with us
  • Services
    • Technological support centers
    • Smart Support
    • Cybersecurity
    • Digital Workplace
    • Cloud
    • Wi-Fi
    • Digital signage
    • In-store Analytics
    • Smart projects
  • Sectors
    • Telecommunications
    • Hotels
    • Retail
    • Industry
    • Banking
    • Alarm companies
    • Insurance
    • Multi-assistance
    • Professional associations
  • End customers
    • Residential customers
    • Smes
    • Large companies
  • Contact

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 April, 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

    • FRACTALIA obtiene la certificación ISO 9001:2008 de gestión de calidad

      By Redaccion | 0 comment

      La norma ISO 9001:2008 es una norma internacional que contempla los requisitos relacionados con los sistemas de calidad en todos los procesos de gestión, la producción y gestión de los recursos, como en la responsabilidadRead more

    • FRACTALIA se instala en TURQUÍA

      By Redaccion | 0 comment

      Fractalia continúa con su expansión internacional y está vez el país elegido ha sido Turquía. Desde Mayo de 2012, nuestra organización ha efectuado importantes acercamientos con las grandes compañías de telecomunicaciones instaladas en este país.Read more

    • Smart TV Box Android. Hi- 802 (Hipad)

      By Redaccion | 0 comment

      En este post os dejamos algunas de nuestras impresiones acerca de los dispositivos TV Box Android modelo Hi-802, analizados en el laboratorio de pruebas de Fractalia. Características OS: Android 4.0 ICS CPU: Freescale i.MX6Q Quad CoreRead more

    • Smart TV Box Android. UG802+ (Ibex Elite)

      By Redaccion | 0 comment

      El dispositivo  TV Box Android modelo UG802 es uno de los mini pc elegidos por el laboratorio de innovación de Fractalia para su análisis en profundidad. El objetivo de estos estudios es determinar las característicasRead more

    • FRACTALIA firma un acuerdo son SAMSUNG en el ámbito del Digital Signage

      By Redaccion | 0 comment

      Fractalia y Samsung dan un paso más en su consolidación como partners en el sector de Digital Signage. Gracias a este acuerdo Fractalia cuenta con el soporte y apoyo tecnológico de Samsung para desarrollar unaRead more

    • SCRUM con sabor FRACTALIA

      By Redaccion | 0 comment

      Pensar en las metodologías de desarrollo suele hacerme pensar en la biología, los ecosistemas y la evolución. Cada metodología tiene un nicho en el cual domina por características particulares, siendo estos nichos de extensión variableRead more

    • Pruebas de QUALITY ASSURANCE “QA” (1/2)

      By Redaccion | 0 comment

      Hoy en día vivimos en un mundo cada vez más exigente, con mucha competencia y es vital entregar un producto software de forma rápida y segura. Un error en cliente puede conllevar quedarse fuera delRead more

    • FRACTALIA consolida su actividad comercial en CHINA

      By Redaccion | 0 comment

      El Grupo Fractalia comienza su andadura comercial en el país asiático a finales del año 2008, siguiendo un plan de expansión de sus actividades de negocio basadas en la gestión remota de grandes redes deRead more

    Leave a Comment

    Cancel reply

    Your email address will not be published. Required fields are marked *


    The reCAPTCHA verification period has expired. Please reload the page.

    NextPrevious

    Buscar

    Categories

    • No categories

    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 has more than 25 years of experience and a solid international presence with activities in 12 countries around the world. We offer cutting-edge technology, experience and proximity to innovate and grow with our customers.

    Visit our blog
    Legal Notice
    Privacy Policy
    Cookies Policy
    Cookies Panel

    ETHICS CHANNEL
    CONTACT

    FRACTALIA COMMITTED

    Fractalia is committed to applying its integrated management system.

    More info

    WOULD YOU LIKE TO WORK WITH US?

    If you would like to be part of a team that focuses on innovation and continuous improvement so that every action by the company adds value to our customers, do not hesitate to contact us.

    JOIN US
    Grupo Fractalia © 2025
    • About Fractalia
      • Who we are
      • Mission & Values
      • Fractalia in the world
      • Policies and certification
      • Corporate responsibility
      • R&D+i
      • Automation
      • Work with us
    • Services
      • Technological support centers
      • Smart Support
      • Cybersecurity
      • Digital Workplace
      • Cloud
      • Wi-Fi
      • Digital signage
      • In-store Analytics
      • Smart projects
    • Sectors
      • Telecommunications
      • Hotels
      • Retail
      • Industry
      • Banking
      • Alarm companies
      • Insurance
      • Multi-assistance
      • Professional associations
    • End customers
      • Residential customers
      • Smes
      • Large companies
    • Contact
    • English
      • Spanish
      • Portuguese
    Grupo Fractalia