Module de base

Test des modules

Le module de test est un framework de test. Combiné avec le module d'assertion, assertdivers cas de test peuvent être facilement écrits.

fibjsL’introduction de modules dans testnécessite souvent des premières test setupopérations :

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

Avant d'écrire des cas de test, vous devez généralement définir un module de test pour décrire le contenu du test.

  • décrire

décrire est un conteneur pour tous les groupes de tests, similaire au concept d'une suite de tests, et est utilisé pour itancrer les tests dans une catégorie spécifique. décrire peut contenir plusieurs cas d'utilisation informatique ou d'autres sous-catégories représentées par une description imbriquée.

1
describe(String name, Function block)

Paramètres d'appel : nom : Chaîne, définition du nom du module bloc : Fonction, code d'initialisation du module

  • il

Représente un seul scénario de test, et chaque description ne doit tester qu'une seule situation pour garantir la fiabilité des résultats du test.

1
it(String name, Function block)

Paramètres d'appel : nom : Chaîne, définir le nom du projet bloc : Fonction, tester le contenu

  • xit&it.skip

Représente les cas de test ignorés.

1
xit(String name, Function block)

Paramètres d'appel : nom : Chaîne, définir le nom du projet bloc : Fonction, tester le contenu

  • oit & it.only

Indique que seul le scénario de test actuel sera exécuté et que les autres scénarios de test seront ignorés afin que le scénario de test actuel puisse être débogué séparément, ce qui est très pratique.

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

Paramètres d'appel : nom : Chaîne, définir le nom du projet bloc : Fonction, tester le contenu

  • faire

Indique la nécessité d’améliorer encore le plan de cas de test.

1
todo(String name, Function block)

Paramètres d'appel : nom : Chaîne, définir le nom du projet bloc : Fonction, tester le contenu

Lors de la rédaction de cas de test, il est courant d'utiliserassertModule d'assertion, vérifie le retour de la fonction. Comment l'utiliser:

1
assert(condition, String message);

Parmi eux, le premier paramètre est la condition qui doit être affirmée et le deuxième paramètre est le message d'erreur.

objet

assert

Affirmez le module de test. Si la valeur du test est fausse, une erreur sera signalée. Le comportement de rapport d'erreur peut être défini pour continuer à s'exécuter ou générer une erreur.

1
assert test.assert;

fonction statique

describe

Définir un module de test, qui peut être imbriqué

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

Paramètres d'appel :

  • name: String, définit le nom du module
  • block: Fonction, code d'initialisation du module

xdescribe

Définition du module pour suspendre les tests,test.setupVous pouvez ensuite utiliser décrire.skip pour appeler

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

Paramètres d'appel :

  • name: String, définit le nom du module
  • block: Fonction, code d'initialisation du module

odescribe

définitions de modules pour des tests indépendants,test.setupVous pouvez ensuite utiliserscribe.only pour appeler

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

Paramètres d'appel :

  • name: String, définit le nom du module
  • block: Fonction, code d'initialisation du module

it

Définir un projet de test

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

Paramètres d'appel :

  • name: String, définit le nom du projet
  • block: Fonction, contenu du test

xit

Définition du projet pour suspendre les tests,test.setupVous pouvez ensuite l'utiliser.skip pour appeler

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

Paramètres d'appel :

  • name: String, définit le nom du projet
  • block: Fonction, contenu du test

oit

Définition du projet pour des tests indépendants,test.setupVous pourrez ensuite l'utiliser uniquement pour appeler

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

Paramètres d'appel :

  • name: String, définit le nom du projet
  • block: Fonction, contenu du test

todo

définition du projet de plan,test.setupVous pouvez ensuite l'utiliser.todo pour appeler

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

Paramètres d'appel :

  • name: String, définit le nom du projet
  • block: Fonction, contenu du test

before

Définir l'événement d'entrée du module de test actuel

1
static test.before(Function func);

Paramètres d'appel :

  • func: Fonction, fonction événement

after

Définir l'événement de sortie du module de test actuel

1
static test.after(Function func);

Paramètres d'appel :

  • func: Fonction, fonction événement

beforeEach

Définir l'événement d'entrée du projet de test du module de test actuel

1
static test.beforeEach(Function func);

Paramètres d'appel :

  • func: Fonction, fonction événement

afterEach

Définir l'événement de sortie du projet de test du module de test actuel

1
static test.afterEach(Function func);

Paramètres d'appel :

  • func: Fonction, fonction événement

mustCall

Tester qu'une fonction doit être appelée un nombre de fois spécifié

1
static Function test.mustCall(Function func);

Paramètres d'appel :

  • func: Fonction, la fonction en cours de test

Résultats de retour :

  • Function, renvoie la fonction enveloppée

mustNotCall

Tester qu'une fonction ne doit pas être appelée

1
static Function test.mustNotCall(Function func);

Paramètres d'appel :

  • func: Fonction, la fonction en cours de test

Résultats de retour :

  • Function, renvoie la fonction enveloppée

Tester qu'une fonction ne doit pas être appelée

1
static Function test.mustNotCall();

Résultats de retour :

  • Function, renvoie la fonction enveloppée

run

Commencer à exécuter le module de test défini

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

Paramètres d'appel :

  • mode: Entier, spécifie le mode de test. Lorsque ERREUR, les informations d'erreur du projet sont concentrées et affichées après le rapport. Lorsqu'elles sont inférieures à ERREUR, les informations de sortie sont affichées à tout moment. Lorsqu'elles sont supérieures à ERREUR, seul le rapport est affiché.

Résultats de retour :

  • Object, renvoyer les résultats des tests

Une fois le test terminé, les résultats du test seront renvoyés sous la forme suivante :

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

Initialisez l'environnement de test du script actuel et copiez la méthode du module de test en tant que variable globale du script actuel

1
static test.setup();

propriétés statiques

slow

Nombre entier, définissez et interrogez le seuil d'avertissement de test lent, en ms, la valeur par défaut est 75

1
static Integer test.slow;