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.
fibjs
L'introduzione dei moduli test
richiede spesso le prime test setup
operazioni:
1
2var 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 it
ancorare i test in una categoria specifica. descrivere può contenere più casi d'uso o altre sottocategorie rappresentate da descrizioni nidificate.
1describe(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.
1it(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.
1xit(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
2oit(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.
1todo(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:
1assert(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.
1assert test.assert;
funzione statica
describe
Definire un modulo di test che può essere annidato
1
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
1static test.before(Function func);
Parametri di chiamata:
- func: Funzione, funzione evento
after
Definire l'evento di uscita del modulo di test corrente
1static 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
1static 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
1static test.afterEach(Function func);
Parametri di chiamata:
- func: Funzione, funzione evento
mustCall
Verifica che una funzione debba essere chiamata un numero specificato di volte
1static 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
1static 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
1static Function test.mustNotCall();
Risultati restituiti:
- Function, restituisce la funzione avvolta
run
Inizia l'esecuzione del modulo di test definito
1static 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
1static test.setup();
proprietà statiche
slow
Numero intero, imposta e interroga la soglia di avviso del test lento, in ms, il valore predefinito è 75
1static Integer test.slow;