No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Mocha Report

6/25
Recursos

Aportes 7

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Instalar Mocha Report

npm i karma-mocha-reporter --save-dev

Agregar en karma.conf.js en plugins

require('karma-mocha-reporter')

Cambiar reporters a

reporters: ['mocha'],

Si estan en versiones mas de angular y no les aparece el karma.conf.js tienen que crearlo o copiarlo del repo.

Recuerden agregar esa configuración al angular.json

para quienes utilizan yarn:
yarn add karma-mocha-reporter --save-dev

en el momento que lancemos un coverage report nos devolvera las pruebas que han pasado y las que no. Seran nombradas por sus identificadores y las veces que han sido lanzadas.

Una recomendación es separar con un subscribe por conjunto de pruebas de la siguiente manera

describe('Test for Calculator', () => {

  describe('Tests for multiply', () => {
    it('#should return a nine', () => {
      //Arrange
      const calculator = new Calculator();
      //Act
      const rta = calculator.multiply(3,3);
      //Assert
      expect(rta).toEqual(9);
    });

    it('#should return a four', () => {
      //Arrange
      const calculator = new Calculator();
      //Act
      const rta = calculator.multiply(1,4);
      //Assert
      expect(rta).toEqual(4);
    });
  });

  describe('test for divide', () => {
    it('#should return a some numbers', () => {
      //Arrange
      const calculator = new Calculator();
      //Act
      expect(calculator.divide(6,3)).toEqual(2);
      expect(calculator.divide(5,2)).toEqual(2.5);
    });

    it('#for a zero', () => {
      //Arrange
      const calculator = new Calculator();
      //Act
      expect(calculator.divide(6,0)).toBeNull();
      expect(calculator.divide(5,0)).toBeNull();
      expect(calculator.divide(1232343245345342342,0)).toBeNull();
    });
  });

  it('#test matchers', () => {
    const name = 'cesar';
    let name2;
    expect(name).toBeDefined();
    expect(name2).toBeUndefined();
    expect(1 + 3 === 4).toBeTruthy(); // 4
    expect(1 + 1 === 3).toBeFalsy(); // 2
    expect(5).toBeLessThan(10);
    expect(20).toBeGreaterThan(10);
    expect('123456').toMatch(/123/);
    expect(['apples', 'oranges', 'pears']).toContain('oranges');
  });
});

Wooooo que pasada de curso no tenia idea de ese plugin se muy bien la forma en que nos muestra los test tanto exitosos como los fallidos
Ahora siempre voy a instalar ese plugin me gusto mucho💚

Generando el reporte de cobertura con Mocha-Reporter

Para empezar a usar Mocha para generar el reporte, primero tenemos que instalarlo cómo dependencia de desarrollo, con el comando npm i -D karma-mocha-reporter.

Luego, tendrás que abrir el archivo karma.conf.js y agregar la línea require('karma-mocha-reporter') al arreglo de plugins de la configuración de Karma.

Para finalizar, eliminas el contenido del arreglo reporters y agregas 'mocha' en su lugar.
Con este cambio, podremos ver que la salida en la terminal de la ejecución de las pruebas es más detalla que la anterior.

|💡 Recuerda que puedes organizar mejor tus pruebas agrupándolas con funciones describe anidadas.

refact de las pruebas se pueden agrupar las pruebas para poder agrupar por los metodos de la clase.

import { Calculator } from './calculator';

describe('Test for Calculator', () => {

  describe('Tests for multiply', () => {
		//grupo de pruebas para el metodo multi
    it('should return a four', () => {
      const calculator = new Calculator();
      const rta = calculator.multiply(1,4);
      expect(rta).toEqual(4);
    });
  });

  describe('Tests for divide', () => {
		//agrupacion de pruebas de div.
    it('should return a some numbers', () => {
   	  const calculator = new Calculator();
      expect(calculator.divide(6,3)).toEqual(2);
      expect(calculator.divide(5,2)).toEqual(2.5);
    });
    });
});