Module basismodule

Moduletest

De testmodule is een testframework.In combinatie met de assertiemodule assertkunnen op eenvoudige wijze diverse testgevallen worden geschreven.

fibjsHet introduceren van modules testvereist vaak eerste test setuphandelingen:

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

Voordat u testgevallen schrijft, moet u meestal een testmodule definiëren om de testinhoud te beschrijven.

  • beschrijven

beschrijven is een container voor alle testgroepen, vergelijkbaar met het concept van een testsuite, en wordt gebruikt om ittests onder een specifieke categorie te verankeren. beschrijven kan meerdere it-use-cases of andere subcategorieën bevatten die worden weergegeven door geneste beschrijven.

1
describe(String name, Function block)

Oproepparameters: naam: String, definieer modulenaamblok: Functie, module-initialisatiecode

  • Het

Vertegenwoordigt één testgeval en elke beschrijving mag slechts één situatie testen om de betrouwbaarheid van de testresultaten te garanderen.

1
it(String name, Function block)

Parameters oproepen: naam: String, projectnaamblok definiëren: Functie, inhoud testen

  • xit&it.skip

Vertegenwoordigt overgeslagen testgevallen.

1
xit(String name, Function block)

Parameters oproepen: naam: String, projectnaamblok definiëren: Functie, inhoud testen

  • oit & it.only

Geeft aan dat alleen de huidige testcase wordt uitgevoerd en dat andere testcases worden genegeerd, zodat de huidige testcase afzonderlijk kan worden opgespoord, wat erg praktisch is.

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

Parameters oproepen: naam: String, projectnaamblok definiëren: Functie, inhoud testen

  • Te doen

Geeft de noodzaak aan om het testcaseplan verder te verbeteren.

1
todo(String name, Function block)

Parameters oproepen: naam: String, projectnaamblok definiëren: Functie, inhoud testen

Bij het schrijven van testgevallen is het gebruikelijk om gebruik te maken vanassertAssertiemodule, controleert de terugkeer van de functie. Hoe te gebruiken:

1
assert(condition, String message);

Daarvan is de eerste parameter de voorwaarde die moet worden vervuld, en de tweede parameter is de foutmelding.

voorwerp

assert

Bevestig de testmodule. Als de testwaarde onwaar is, wordt er een fout gerapporteerd. Het foutrapportagegedrag kan worden ingesteld om door te gaan of een fout te genereren.

1
assert test.assert;

statische functie

describe

Definieer een testmodule, die genest kan worden

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

Oproepparameters:

  • name: String, definieert de modulenaam
  • block: Functie, module-initialisatiecode

xdescribe

Moduledefinitie om het testen te pauzeren,test.setupU kunt dan beschrijven.skip gebruiken om te bellen

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

Oproepparameters:

  • name: String, definieert de modulenaam
  • block: Functie, module-initialisatiecode

odescribe

moduledefinities voor onafhankelijk testen,test.setupU kunt dan met beschrijven.only bellen

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

Oproepparameters:

  • name: String, definieert de modulenaam
  • block: Functie, module-initialisatiecode

it

Definieer een testproject

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

Oproepparameters:

  • name: String, definieert de projectnaam
  • block: Functie, testinhoud

xit

Projectdefinitie om het testen te pauzeren,test.setupU kunt het vervolgens gebruiken om te bellen

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

Oproepparameters:

  • name: String, definieert de projectnaam
  • block: Functie, testinhoud

oit

Projectdefinitie voor onafhankelijk testen,test.setupU kunt er dan alleen mee bellen

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

Oproepparameters:

  • name: String, definieert de projectnaam
  • block: Functie, testinhoud

todo

plan projectdefinitie,test.setupJe kunt it.todo dan gebruiken om te bellen

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

Oproepparameters:

  • name: String, definieert de projectnaam
  • block: Functie, testinhoud

before

Definieer de huidige testmodule-invoergebeurtenis

1
static test.before(Function func);

Oproepparameters:

  • func: Functie, gebeurtenisfunctie

after

Definieer de exit-gebeurtenis van de huidige testmodule

1
static test.after(Function func);

Oproepparameters:

  • func: Functie, gebeurtenisfunctie

beforeEach

Definieer de huidige testmodule-invoergebeurtenis

1
static test.beforeEach(Function func);

Oproepparameters:

  • func: Functie, gebeurtenisfunctie

afterEach

Definieer de huidige exit-gebeurtenis van het testmoduletestproject

1
static test.afterEach(Function func);

Oproepparameters:

  • func: Functie, gebeurtenisfunctie

mustCall

Test of een functie een bepaald aantal keren moet worden aangeroepen

1
static Function test.mustCall(Function func);

Oproepparameters:

  • func: Functie, de functie die wordt getest

Resultaten retourneren:

  • Function, retourneert de ingepakte functie

mustNotCall

Test of een functie niet mag worden aangeroepen

1
static Function test.mustNotCall(Function func);

Oproepparameters:

  • func: Functie, de functie die wordt getest

Resultaten retourneren:

  • Function, retourneert de ingepakte functie

Test of een functie niet mag worden aangeroepen

1
static Function test.mustNotCall();

Resultaten retourneren:

  • Function, retourneert de ingepakte functie

run

Begin met het uitvoeren van de gedefinieerde testmodule

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

Oproepparameters:

  • mode: Geheel getal, specificeert de testmodus. Wanneer ERROR, wordt de projectfoutinformatie geconcentreerd en weergegeven na het rapport. Wanneer deze lager is dan ERROR, wordt de uitvoerinformatie op elk moment weergegeven. Wanneer deze hoger is dan ERROR, wordt alleen het rapport weergegeven. weergegeven.

Resultaten retourneren:

  • Object, testresultaten retourneren

Nadat de testrun is voltooid, worden de testresultaten in de volgende vorm geretourneerd:

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

Initialiseer de testomgeving van het huidige script en kopieer de testmodulemethode als een globale variabele van het huidige script

1
static test.setup();

statische eigenschappen

slow

Integer, stel de waarschuwingsdrempel voor de langzame test in en vraag deze op, in ms, de standaardwaarde is 75

1
static Integer test.slow;