Prueba del módulo
El módulo de prueba es un marco de prueba y, combinado con el módulo de aserción, assert
se pueden escribir fácilmente varios casos de prueba.
fibjs
La introducción de módulos a test
menudo requiere primeras test setup
operaciones:
1
2var test = require('test');
test.setup();
Antes de escribir casos de prueba, normalmente es necesario definir un módulo de prueba para describir el contenido de la prueba.
- describir
describe es un contenedor para todos los grupos de pruebas, similar al concepto de un conjunto de pruebas, y se utiliza para it
anclar las pruebas en una categoría específica. describe puede contener múltiples casos de uso u otras subcategorías representadas por una descripción anidada.
1describe(String name, Function block)
Parámetros de llamada: nombre: cadena, definir nombre del módulo bloque: función, código de inicialización del módulo
- él
Representa un único caso de prueba y cada descripción solo debe probar una única situación para garantizar la confiabilidad de los resultados de la prueba.
1it(String name, Function block)
Parámetros de llamada: nombre: cadena, definir nombre del proyecto bloque: función, contenido de prueba
- salir y saltar
Representa casos de prueba omitidos.
1xit(String name, Function block)
Parámetros de llamada: nombre: cadena, definir nombre del proyecto bloque: función, contenido de prueba
- oit & it.solo
Indica que solo se ejecutará el caso de prueba actual y se ignorarán otros casos de prueba para que el caso de prueba actual se pueda depurar por separado, lo cual es muy práctico.
1
2oit(String name, Function block)
it.only(String name, Function block)
Parámetros de llamada: nombre: cadena, definir nombre del proyecto bloque: función, contenido de prueba
- hacer
Indica la necesidad de mejorar aún más el plan de casos de prueba.
1todo(String name, Function block)
Parámetros de llamada: nombre: cadena, definir nombre del proyecto bloque: función, contenido de prueba
Al escribir casos de prueba, es común usarassertMódulo de afirmación, comprueba el retorno de la función. Cómo usarlo:
1assert(condition, String message);
Entre ellos, el primer parámetro es la condición que debe afirmarse y el segundo parámetro es el mensaje de error.
objeto
assert
Confirme el módulo de prueba. Si el valor de la prueba es falso, se informará un error. El comportamiento de informe de errores se puede configurar para que continúe ejecutándose o arroje un error.
1assert test.assert;
función estática
describe
Definir un módulo de prueba, que se puede anidar.
1
2static test.describe(String name,
Function block);
Parámetros de llamada:
- name: Cadena, define el nombre del módulo
- block: Función, código de inicialización del módulo
xdescribe
Definición de módulo para pausar las pruebas,test.setupLuego puedes usar describe.skip para llamar
1
2static test.xdescribe(String name,
Function block);
Parámetros de llamada:
- name: Cadena, define el nombre del módulo
- block: Función, código de inicialización del módulo
odescribe
definiciones de módulos para pruebas independientes,test.setupLuego puedes usar describe.only para llamar
1
2static test.odescribe(String name,
Function block);
Parámetros de llamada:
- name: Cadena, define el nombre del módulo
- block: Función, código de inicialización del módulo
it
Definir un proyecto de prueba
1
2static test.it(String name,
Function block);
Parámetros de llamada:
- name: Cadena, define el nombre del proyecto.
- block: Función, contenido de prueba
xit
Definición del proyecto para pausar las pruebas.test.setupLuego puedes usarlo. Saltar para llamar.
1
2static test.xit(String name,
Function block);
Parámetros de llamada:
- name: Cadena, define el nombre del proyecto.
- block: Función, contenido de prueba
oit
Definición de proyecto para pruebas independientes,test.setupLuego puedes usarlo.solo para llamar
1
2static test.oit(String name,
Function block);
Parámetros de llamada:
- name: Cadena, define el nombre del proyecto.
- block: Función, contenido de prueba
todo
planificar la definición del proyecto,test.setupLuego puedes usarlo.todo para llamar
1
2static test.todo(String name,
Function block);
Parámetros de llamada:
- name: Cadena, define el nombre del proyecto.
- block: Función, contenido de prueba
before
Definir el evento de entrada del módulo de prueba actual
1static test.before(Function func);
Parámetros de llamada:
- func: Función, función de evento
after
Definir el evento de salida del módulo de prueba actual
1static test.after(Function func);
Parámetros de llamada:
- func: Función, función de evento
beforeEach
Definir el evento de entrada del proyecto de prueba del módulo de prueba actual
1static test.beforeEach(Function func);
Parámetros de llamada:
- func: Función, función de evento
afterEach
Definir el evento de salida del proyecto de prueba del módulo de prueba actual
1static test.afterEach(Function func);
Parámetros de llamada:
- func: Función, función de evento
mustCall
Pruebe que una función debe llamarse un número específico de veces
1static Function test.mustCall(Function func);
Parámetros de llamada:
- func: Función, la función que se está probando
Resultados de devolución:
- Function, devuelve la función envuelta
mustNotCall
Prueba de que no se debe llamar a una función
1static Function test.mustNotCall(Function func);
Parámetros de llamada:
- func: Función, la función que se está probando
Resultados de devolución:
- Function, devuelve la función envuelta
Prueba de que no se debe llamar a una función
1static Function test.mustNotCall();
Resultados de devolución:
- Function, devuelve la función envuelta
run
Comience a ejecutar el módulo de prueba definido
1static Object test.run(Integer mode = console.ERROR);
Parámetros de llamada:
- mode: Entero, especifica el modo de prueba. Cuando es ERROR, la información de error del proyecto se concentra y se muestra después del informe. Cuando es inferior a ERROR, la información de salida se muestra en cualquier momento. Cuando es superior a ERROR, solo se muestra el informe desplegado.
Resultados de devolución:
- Object, devolver los resultados de la prueba
Una vez completada la ejecución de la prueba, los resultados de la prueba se devolverán en el siguiente formulario:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33{
"total": 2, // number of total test cases
"pass": 2, // number of passed test cases
"fail": 0, // number of failed test cases
"skip": 0, // number of skipped test cases
"todo": 0, // number of todo test cases
"time": 0.000000, // time elapsed in seconds
"cases": [ // details of test cases
{
"name": "test", // name of test case
"time": 0.000000, // time elapsed in seconds
"result": true, // result of test case
"error": null // message of error if test case failed
},
{
"name": "sub cases", // name of sub test case
"total": 1, // number of total test cases
"pass": 1, // number of passed test cases
"fail": 0, // number of failed test cases
"skip": 0, // number of skipped test cases
"todo": 0, // number of todo test cases
"time": 0.000000, // time elapsed in seconds
"cases": [ // details of test cases
{
"name": "test", // name of test case
"time": 0.000000, // time elapsed in seconds
"result": true, // result of test case
"error": null // message of error if test case failed
}
]
}
]
}
setup
Inicialice el entorno de prueba del script actual y copie el método del módulo de prueba como una variable global del script actual.
1static test.setup();
propiedades estáticas
slow
Entero, establece y consulta el umbral de advertencia de prueba lenta, en ms, el valor predeterminado es 75
1static Integer test.slow;