Ahora comience a escribir pruebas para su aplicación Angular (Parte 2)

En el último artículo, hablamos sobre cómo comenzar a escribir pruebas y luego integramos las pruebas en el proyecto.

¿Cómo integrar pruebas en proyectos existentes?

1. Instale dependencias de prueba y agregue archivos de configuración relacionados

Todos los problemas encontrados en este enlace, como dónde colocar el archivo, cuál es el contenido del archivo, etc., se pueden configurar consultando el proyecto de pico que hemos realizado en la sección anterior.

(1) Asegúrese de que haya un archivo de configuración karma.conf.js en el directorio raíz;

(2) Asegúrese de que haya un archivo test.ts en src;

(3) Asegúrese de que tsconfig no ignore su archivo spec.ts, principalmente verifique las configuraciones de inclusión y exclusión en el archivo tsconfig;

(4) Asegúrese de que las siguientes dependencias estén instaladas; de lo contrario, instálelas todas primero.

"karma": "^5.2.1","karma-chrome-launcher": "^3.1.0","karma-coverage-istanbul-reporter": "^3.0.3","karma-jasmine": "^4.0.1","karma-jasmine-html-reporter": "^1.5.4",

Veamos un ejemplo. Antes de comenzar a escribir, clasifiquemos los pasos básicos para escribir casos de prueba:

(1) Primero registre el comportamiento que desea probar a través de la lista escrita a mano, es decir, varios deben en el pico de arriba;

(2) Escriba los casos de prueba de acuerdo con la lista anterior; después de realizar las dependencias y configuraciones anteriores, podemos comenzar a intentar escribir casos de prueba en proyectos existentes, suponiendo que tengamos una forma de convertir bytes (Byte) en representaciones de tamaño común (como como KB, MB, GB), el código del método es el siguiente:

Como se mencionó anteriormente, comenzamos preparando la lista de comportamientos de prueba:

  • Cuando la entrada es menor que 0 o no es un número, debe devolver:

  • Cuando la entrada es un número y menos de 100, la unidad es B

  • Cuando la entrada es una matriz y mayor o igual a 100 y menor a 100000, la unidad es KB

  • MB cuando la entrada es una matriz y mayor o igual a 100000 y menor a 100000000

  • Cuando la entrada es una matriz y es mayor o igual a 100000000 y menor a 100000000000GB

Luego comience a escribir código de prueba para este método público, primero cree un nuevo archivo de prueba test.spec.ts e introduzca este método en el archivo:

import { transferSize } from './common-method';

2. Agregue su conjunto de pruebas y varios deberían

describe('TransferSize Method Of Util', () => {
   
       it(`should return '--' when the input is less than zero`, () => {
   
           expect(transferSize(-1)).toEqual({
   
               sizevalue: '--',            sizeunit: ''        });    });    it(`should return '--' when the input is not number`, () => {
   
           expect(transferSize('haha')).toEqual({
   
               sizevalue: '--',            sizeunit: ''        });    });    it(`should return 'xB' when the input is less than 100`, () => {
   
           expect(transferSize(0)).toEqual({
   
               sizevalue: '0',            sizeunit: 'B'        })    });    it(`should return 'xMB' when the input is more than 100`, () => {
   
           expect(transferSize(100)).toEqual({
   
               sizevalue: '0.1',            sizeunit: 'KB'        })    });    it(`should return 'xGB' when the input is more than 100000`, () => {
   
           expect(transferSize(100000)).toEqual({
   
               sizevalue: '0.1',            sizeunit: 'MB'        })    });    it(`should return 'xGB' when the input is more than 100000000`, () => {
   
           expect(transferSize(100000000)).toEqual({
   
               sizevalue: '0.1',            sizeunit: 'GB'        })    });});

Terminé de escribir, ejecuté ng test, ¡ya está!

Hemos integrado uno de los casos de prueba de unidad más simples en un proyecto existente.

Si aún desea ver la cobertura de prueba de código de cada archivo en el proyecto, puede ejecutar este comando: ng test --code-coverage, por supuesto, recuerde configurar la ruta de la carpeta de cobertura en su Karma.conf.js:

Una vez completada la configuración, cada vez que ejecute el comando anterior, se generará un resultado más detallado en la carpeta de cobertura en el directorio raíz del proyecto. Abra el archivo index.html en la carpeta para ver la cobertura de prueba de cada archivo y descubierto. código.

Resumir

Para lograr el propósito de una implementación rápida, este artículo solo conecta las partes necesarias en serie para formar una demostración mínima operable. Todavía hay muchas preguntas sin respuesta sobre las pruebas, como los métodos de cálculo de varias coberturas de prueba, cómo usar simulacros y stub Para las pruebas comerciales de interacción de interfaz, se debe seguir explorando cómo probar en escenarios de biblioteca de componentes como DevUI.

Finalmente: Si no quieres experimentar la sensación de no poder encontrar información, nadie respondiendo preguntas y rendirte después de unos días de aprendizaje, aquí compartiré contigo algunos recursos de aprendizaje para pruebas de software, con la esperanza de darte alguna orientación sobre el camino a seguir. Ven a ayudar, tus amigos pueden obtenerlo gratis si lo necesitan 【保证100%免费】

Colección de preguntas de la entrevista de prueba de software.

Nuestro estudio avanzado de pruebas automatizadas debe ser encontrar un trabajo bien remunerado. Las siguientes preguntas de la entrevista son los materiales de entrevista más recientes de compañías de Internet de primer nivel como Ali, Tencent y Byte, y algunos jefes de Byte han dado respuestas autorizadas. Después Completando este conjunto de materiales de entrevista, creo que todos pueden encontrar un trabajo satisfactorio.

Cómo obtener el archivo de vídeo:

Supongo que te gusta

Origin blog.csdn.net/m0_75277660/article/details/130772933
Recomendado
Clasificación