Módulo módulo básico

Proba do módulo

O módulo de proba é un marco de proba. Combinado co módulo de afirmación, assertpódense escribir facilmente varios casos de proba.

fibjsA introdución de módulos en testmoitas veces require as primeiras test setupoperacións:

1 2
var test = require('test'); test.setup();

Antes de escribir casos de proba, normalmente cómpre definir un módulo de proba para describir o contido da proba.

  • describir

describe é un contenedor para todos os grupos de probas, similar ao concepto dunha suite de probas, e úsase para itancorar probas nunha categoría específica. describe pode conter varios casos de uso ou outras subcategorías representadas por describe aniñadas.

1
describe(String name, Function block)

Parámetros de chamada: nome: Cadena, definir nome do módulo bloque: Función, código de inicialización do módulo

  • iso

Representa un único caso de proba e cada descrición só debe probar unha única situación para garantir a fiabilidade dos resultados da proba.

1
it(String name, Function block)

Parámetros de chamada: nome: cadea, definir nome do proxecto bloque: función, contido de proba

  • xit&it.skip

Representa casos de proba omitidos.

1
xit(String name, Function block)

Parámetros de chamada: nome: cadea, definir nome do proxecto bloque: función, contido de proba

  • oit & it.só

Indica que só se executará o caso de proba actual e que se ignorarán outros casos de proba para que o caso de proba actual se poida depurar por separado, o que é moi práctico.

1 2
oit(String name, Function block) it.only(String name, Function block)

Parámetros de chamada: nome: cadea, definir nome do proxecto bloque: función, contido de proba

  • facer

Indica a necesidade de mellorar aínda máis o plan de casos de proba.

1
todo(String name, Function block)

Parámetros de chamada: nome: cadea, definir nome do proxecto bloque: función, contido de proba

Ao escribir casos de proba, é habitual usarassertMódulo de aserción, comproba o retorno da función. Como usalo:

1
assert(condition, String message);

Entre eles, o primeiro parámetro é a condición que se debe afirmar e o segundo parámetro é a mensaxe de erro.

obxecto

assert

Afirma o módulo de proba. Se o valor da proba é falso, informarase dun erro. Pódese configurar o comportamento de informes de erros para que siga executando ou se produza un erro.

1
assert test.assert;

función estática

describe

Defina un módulo de proba, que se pode aniñar

1 2
static test.describe(String name, Function block);

Parámetros de chamada:

  • name: String, define o nome do módulo
  • block: Función, código de inicialización do módulo

xdescribe

Definición de módulo para pausar a proba,test.setupDespois podes usar describe.skip para chamar

1 2
static test.xdescribe(String name, Function block);

Parámetros de chamada:

  • name: String, define o nome do módulo
  • block: Función, código de inicialización do módulo

odescribe

definicións de módulos para probas independentes,test.setupDespois podes usar describe.only para chamar

1 2
static test.odescribe(String name, Function block);

Parámetros de chamada:

  • name: String, define o nome do módulo
  • block: Función, código de inicialización do módulo

it

Definir un proxecto de proba

1 2
static test.it(String name, Function block);

Parámetros de chamada:

  • name: Cadea, define o nome do proxecto
  • block: Función, contido da proba

xit

Definición do proxecto para pausar as probas,test.setupDespois podes usalo.salta para chamar

1 2
static test.xit(String name, Function block);

Parámetros de chamada:

  • name: Cadea, define o nome do proxecto
  • block: Función, contido da proba

oit

Definición do proxecto para probas independentes,test.setupDespois podes usalo.só para chamar

1 2
static test.oit(String name, Function block);

Parámetros de chamada:

  • name: Cadea, define o nome do proxecto
  • block: Función, contido da proba

todo

definición do proxecto do plan,test.setupDespois podes usalo.todo para chamar

1 2
static test.todo(String name, Function block);

Parámetros de chamada:

  • name: Cadea, define o nome do proxecto
  • block: Función, contido da proba

before

Defina o evento de entrada do módulo de proba actual

1
static test.before(Function func);

Parámetros de chamada:

  • func: Función, función de evento

after

Defina o evento de saída do módulo de proba actual

1
static test.after(Function func);

Parámetros de chamada:

  • func: Función, función de evento

beforeEach

Defina o evento de entrada do proxecto de proba do módulo de proba actual

1
static test.beforeEach(Function func);

Parámetros de chamada:

  • func: Función, función de evento

afterEach

Defina o evento de saída do proxecto de proba do módulo de proba actual

1
static test.afterEach(Function func);

Parámetros de chamada:

  • func: Función, función de evento

mustCall

Proba que unha función debe chamarse un número determinado de veces

1
static Function test.mustCall(Function func);

Parámetros de chamada:

  • func: Función, a función que se está a probar

Resultados de devolución:

  • Function, devolve a función envoltura

mustNotCall

Proba que non se debe chamar unha función

1
static Function test.mustNotCall(Function func);

Parámetros de chamada:

  • func: Función, a función que se está a probar

Resultados de devolución:

  • Function, devolve a función envoltura

Proba que non se debe chamar unha función

1
static Function test.mustNotCall();

Resultados de devolución:

  • Function, devolve a función envoltura

run

Comezar a executar o módulo de proba definido

1
static Object test.run(Integer mode = console.ERROR);

Parámetros de chamada:

  • mode: Número enteiro, especifica o modo de proba. Cando ERRO, a información do erro do proxecto concéntrase e móstrase despois do informe. Cando é inferior a ERRO, a información de saída móstrase en calquera momento. Cando é superior a ERRO, só se mostra o informe. mostrado.

Resultados de devolución:

  • Object, devolver os resultados da proba

Despois de completar a proba, os resultados da proba serán devoltos no seguinte 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 o ambiente de proba do script actual e copie o método do módulo de proba como unha variable global do script actual

1
static test.setup();

propiedades estáticas

slow

Enteiro, establece e consulta o limiar de aviso de proba lenta, en ms, o valor predeterminado é 75

1
static Integer test.slow;