Módulo módulo básico

Prueba del módulo

El módulo de prueba es un marco de prueba y, combinado con el módulo de aserción, assertse pueden escribir fácilmente varios casos de prueba.

fibjsLa introducción de módulos a testmenudo requiere primeras test setupoperaciones:

1 2
var 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 itanclar 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.

1
describe(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.

1
it(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.

1
xit(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 2
oit(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.

1
todo(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:

1
assert(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.

1
assert test.assert;

función estática

describe

Definir un módulo de prueba, que se puede anidar.

1 2
static 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 2
static 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 2
static 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 2
static 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 2
static 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 2
static 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 2
static 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

1
static 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

1
static 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

1
static 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

1
static 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

1
static 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

1
static 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

1
static Function test.mustNotCall();

Resultados de devolución:

  • Function, devuelve la función envuelta

run

Comience a ejecutar el módulo de prueba definido

1
static 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.

1
static test.setup();

propiedades estáticas

slow

Entero, establece y consulta el umbral de advertencia de prueba lenta, en ms, el valor predeterminado es 75

1
static Integer test.slow;