Skip to content

PruebasAngular

Rubby Casallas edited this page Nov 7, 2023 · 5 revisions

Banner Curso

Pruebas en Angular

En el contexto de Angular podemos probar diferentes elementos en la aplicación: los métodos de los servicios, los métodos de los componentes, la vista del componente.

Para la realización de estas pruebas Angular usa varios programas. Algunos de ellos son Jasmine y Karma.

Jasmine

Jasmine es un framework de Desarrollo Dirigido por Comportamiento (Behavior Driven Development). En Jasmine se pueden definir las suite de pruebas, las especificaciones y los helpers.

Suite de pruebas

Para realizar una prueba se inicia con la creación de una suite de pruebas. Una suite se denota con la función describe(a, b). El parámetro a es el texto de describe la suite y el parámetro b es una función anónima donde se incluyen las especificaciones.

Las especificaciones

Una especificación (o la prueba propiamente dicha) se denota con la función it(a, b). El parámetro a es el texto que describe la especificación y el parámetro b es la función anónima donde se incluirán las expectativas (expectations) que debe cumplir la prueba.

Las expectativas

Una expectativa se denota con la función expect(a). El parámetro a es un valor que será probado, mediante argumentos en cadena (method chaining). Un ejemplo de un argumento en cadena es expect(isValid).toBe(true). Eso significa que se espera (la expectativa) que la variable isValid sea (toBe) verdadero.

Los helpers

En Jasmine existen varios métodos denominados helpers que se ejecutan en diferentes momentos durante la ejecución de las pruebas. Los helpers más usados son:

  • beforeAll(a): ejecuta la función a antes de iniciar las todas pruebas.
  • afterAll(a): ejecuta la función a después de ejecutar todas las pruebas.
  • beforeEach(a): ejecuta la función a antes de ejecutar cada prueba.
  • afterEach(a): ejecuta la función a después de ejecutar cada prueba.

Karma

Karma es el programa sobre el cual corren las pruebas de Jasmine. Una de las caracteristicas de Karma es que permiten la ejecución de las pruebas sin necesidad refrescar el navegador. Esta ejecución se realizan cada vez que ocurre un cambio en los archivos de pruebas.

Clone this wiki locally