Modulo modulo base

Prova del modulo

Il modulo di test è un framework di test.In combinazione con il modulo di asserzione assertè possibile scrivere facilmente vari casi di test.

fibjsL'introduzione dei moduli testrichiede spesso le prime test setupoperazioni:

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

Prima di scrivere casi di test, solitamente è necessario definire un modulo di test per descrivere il contenuto del test.

  • descrivere

descrivere è un contenitore per tutti i gruppi di test, simile al concetto di suite di test, e viene utilizzato per itancorare i test in una categoria specifica. descrivere può contenere più casi d'uso o altre sottocategorie rappresentate da descrizioni nidificate.

1
describe(String name, Function block)

Parametri di chiamata: nome: Stringa, definizione del nome del modulo, blocco: Funzione, codice di inizializzazione del modulo

  • Esso

Rappresenta un singolo caso di test e ciascuna descrizione deve testare solo una singola situazione per garantire l'affidabilità dei risultati del test.

1
it(String name, Function block)

Parametri di chiamata: nome: stringa, definizione del nome del progetto, blocco: funzione, contenuto del test

  • xit&it.skip

Rappresenta casi di test saltati.

1
xit(String name, Function block)

Parametri di chiamata: nome: stringa, definizione del nome del progetto, blocco: funzione, contenuto del test

  • oit & it.only

Indica che verrà eseguito solo il test case corrente e gli altri test case verranno ignorati in modo che sia possibile eseguire il debug del test case corrente separatamente, il che è molto pratico.

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

Parametri di chiamata: nome: stringa, definizione del nome del progetto, blocco: funzione, contenuto del test

  • fare

Indica la necessità di migliorare ulteriormente il piano del test case.

1
todo(String name, Function block)

Parametri di chiamata: nome: stringa, definizione del nome del progetto, blocco: funzione, contenuto del test

Quando si scrivono casi di test, è comune utilizzareassertModulo di asserzione, controlla il ritorno della funzione. Come usarlo:

1
assert(condition, String message);

Tra questi, il primo parametro è la condizione che deve essere asserita e il secondo parametro è il messaggio di errore.

oggetto

assert

Asserisci il modulo di test. Se il valore del test è falso, verrà segnalato un errore. Il comportamento di segnalazione degli errori può essere impostato per continuare l'esecuzione o generare un errore.

1
assert test.assert;

funzione statica

describe

Definire un modulo di test che può essere annidato

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

Parametri di chiamata:

  • name: String, definisce il nome del modulo
  • block: Funzione, codice di inizializzazione del modulo

xdescribe

Definizione del modulo per mettere in pausa i test,test.setupÈ quindi possibile utilizzare description.skip per chiamare

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

Parametri di chiamata:

  • name: String, definisce il nome del modulo
  • block: Funzione, codice di inizializzazione del modulo

odescribe

definizioni dei moduli per test indipendenti,test.setupÈ quindi possibile utilizzare description.only per chiamare

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

Parametri di chiamata:

  • name: String, definisce il nome del modulo
  • block: Funzione, codice di inizializzazione del modulo

it

Definire un progetto di prova

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

Parametri di chiamata:

  • name: String, definisce il nome del progetto
  • block: Funzione, contenuto di prova

xit

Definizione del progetto per sospendere i test,test.setupPuoi quindi utilizzare it.skip per chiamare

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

Parametri di chiamata:

  • name: String, definisce il nome del progetto
  • block: Funzione, contenuto di prova

oit

Definizione del progetto per test indipendenti,test.setupPotrai quindi usarlo solo per chiamare

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

Parametri di chiamata:

  • name: String, definisce il nome del progetto
  • block: Funzione, contenuto di prova

todo

definizione del progetto di piano,test.setupPuoi quindi utilizzare it.todo per chiamare

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

Parametri di chiamata:

  • name: String, definisce il nome del progetto
  • block: Funzione, contenuto di prova

before

Definire l'evento di ingresso del modulo di test corrente

1
static test.before(Function func);

Parametri di chiamata:

  • func: Funzione, funzione evento

after

Definire l'evento di uscita del modulo di test corrente

1
static test.after(Function func);

Parametri di chiamata:

  • func: Funzione, funzione evento

beforeEach

Definire l'evento di ingresso del progetto di test del modulo di test corrente

1
static test.beforeEach(Function func);

Parametri di chiamata:

  • func: Funzione, funzione evento

afterEach

Definire l'evento di uscita del progetto di test del modulo di test corrente

1
static test.afterEach(Function func);

Parametri di chiamata:

  • func: Funzione, funzione evento

mustCall

Verifica che una funzione debba essere chiamata un numero specificato di volte

1
static Function test.mustCall(Function func);

Parametri di chiamata:

  • func: Funzione, la funzione sottoposta a test

Risultati restituiti:

  • Function, restituisce la funzione avvolta

mustNotCall

Verificare che una funzione non possa essere chiamata

1
static Function test.mustNotCall(Function func);

Parametri di chiamata:

  • func: Funzione, la funzione sottoposta a test

Risultati restituiti:

  • Function, restituisce la funzione avvolta

Verificare che una funzione non possa essere chiamata

1
static Function test.mustNotCall();

Risultati restituiti:

  • Function, restituisce la funzione avvolta

run

Inizia l'esecuzione del modulo di test definito

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

Parametri di chiamata:

  • mode: Numero intero, specifica la modalità di test. Quando ERROR, le informazioni sugli errori del progetto vengono concentrate e visualizzate dopo il report. Quando è inferiore a ERROR, le informazioni di output vengono visualizzate in qualsiasi momento. Quando è superiore a ERROR, viene visualizzato solo il report visualizzato.

Risultati restituiti:

  • Object, restituire i risultati del test

Una volta completata l'esecuzione del test, i risultati del test verranno restituiti nel seguente formato:

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

Inizializza l'ambiente di test dello script corrente e copia il metodo del modulo di test come variabile globale dello script corrente

1
static test.setup();

proprietà statiche

slow

Numero intero, imposta e interroga la soglia di avviso del test lento, in ms, il valore predefinito è 75

1
static Integer test.slow;