Modul Grundmodul

Modultest

Das Testmodul ist ein Testframework. In Kombination mit dem Assertionsmodul assertkönnen verschiedene Testfälle einfach geschrieben werden.

fibjsDie Einführung von Modulen testerfordert häufig erste test setupSchritte:

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

Bevor Sie Testfälle schreiben, müssen Sie normalerweise ein Testmodul definieren, um den Testinhalt zu beschreiben.

  • beschreiben

„beschreiben“ ist ein Container für alle Testgruppen, ähnlich dem Konzept einer Testsuite, und wird verwendet, um itTests unter einer bestimmten Kategorie zu verankern. „beschreiben“ kann mehrere IT-Anwendungsfälle oder andere Unterkategorien enthalten, die durch verschachtelte „beschreiben“ dargestellt werden.

1
describe(String name, Function block)

Aufrufparameter: Name: String, Modulnamen definieren, Block: Funktion, Modulinitialisierungscode

  • Es

Stellt einen einzelnen Testfall dar und jede Beschreibung sollte nur eine einzige Situation testen, um die Zuverlässigkeit der Testergebnisse sicherzustellen.

1
it(String name, Function block)

Aufrufparameter: Name: String, Projektnamen definieren, Block: Funktion, Testinhalt

  • xit&it.skip

Stellt übersprungene Testfälle dar.

1
xit(String name, Function block)

Aufrufparameter: Name: String, Projektnamen definieren, Block: Funktion, Testinhalt

  • oit & it.only

Gibt an, dass nur der aktuelle Testfall ausgeführt wird und andere Testfälle ignoriert werden, sodass der aktuelle Testfall separat debuggt werden kann, was sehr praktisch ist.

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

Aufrufparameter: Name: String, Projektnamen definieren, Block: Funktion, Testinhalt

  • machen

Weist darauf hin, dass der Testfallplan weiter verbessert werden muss.

1
todo(String name, Function block)

Aufrufparameter: Name: String, Projektnamen definieren, Block: Funktion, Testinhalt

Beim Schreiben von Testfällen wird es häufig verwendetassertAssertionsmodul, prüft die Rückgabe der Funktion. So verwenden Sie es:

1
assert(condition, String message);

Dabei ist der erste Parameter die Bedingung, die bestätigt werden muss, und der zweite Parameter ist die Fehlermeldung.

Objekt

assert

Aktivieren Sie das Testmodul. Wenn der Testwert falsch ist, wird ein Fehler gemeldet. Das Verhalten der Fehlerberichterstattung kann so eingestellt werden, dass die Ausführung fortgesetzt wird oder ein Fehler ausgegeben wird.

1
assert test.assert;

statische Funktion

describe

Definieren Sie ein Testmodul, das verschachtelt werden kann

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

Aufrufparameter:

  • name: String, definiert den Modulnamen
  • block: Funktion, Modulinitialisierungscode

xdescribe

Moduldefinition zum Anhalten des Tests,test.setupAnschließend können Sie zum Aufrufen beschreiben.skip verwenden

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

Aufrufparameter:

  • name: String, definiert den Modulnamen
  • block: Funktion, Modulinitialisierungscode

odescribe

Moduldefinitionen für unabhängige Tests,test.setupSie können dann beschreiben.only zum Aufrufen verwenden

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

Aufrufparameter:

  • name: String, definiert den Modulnamen
  • block: Funktion, Modulinitialisierungscode

it

Definieren Sie ein Testprojekt

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

Aufrufparameter:

  • name: String, definiert den Projektnamen
  • block: Funktion, Testinhalt

xit

Projektdefinition zur Testpause,test.setupAnschließend können Sie mit it.skip anrufen

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

Aufrufparameter:

  • name: String, definiert den Projektnamen
  • block: Funktion, Testinhalt

oit

Projektdefinition für unabhängige Tests,test.setupSie können es dann nur zum Anrufen verwenden

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

Aufrufparameter:

  • name: String, definiert den Projektnamen
  • block: Funktion, Testinhalt

todo

Projektdefinition planen,test.setupSie können dann it.todo zum Aufrufen verwenden

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

Aufrufparameter:

  • name: String, definiert den Projektnamen
  • block: Funktion, Testinhalt

before

Definieren Sie das aktuelle Testmodul-Eintrittsereignis

1
static test.before(Function func);

Aufrufparameter:

  • func: Funktion, Ereignisfunktion

after

Definieren Sie das Exit-Ereignis des aktuellen Testmoduls

1
static test.after(Function func);

Aufrufparameter:

  • func: Funktion, Ereignisfunktion

beforeEach

Definieren Sie das aktuelle Testmodul-Testprojekteintrittsereignis

1
static test.beforeEach(Function func);

Aufrufparameter:

  • func: Funktion, Ereignisfunktion

afterEach

Definieren Sie das aktuelle Testmodul-Testprojekt-Exit-Ereignis

1
static test.afterEach(Function func);

Aufrufparameter:

  • func: Funktion, Ereignisfunktion

mustCall

Testen Sie, ob eine Funktion eine bestimmte Anzahl von Malen aufgerufen werden muss

1
static Function test.mustCall(Function func);

Aufrufparameter:

  • func: Funktion, die getestete Funktion

Rückgabeergebnisse:

  • Function, gibt die umschlossene Funktion zurück

mustNotCall

Testen Sie, dass eine Funktion nicht aufgerufen werden darf

1
static Function test.mustNotCall(Function func);

Aufrufparameter:

  • func: Funktion, die getestete Funktion

Rückgabeergebnisse:

  • Function, gibt die umschlossene Funktion zurück

Testen Sie, dass eine Funktion nicht aufgerufen werden darf

1
static Function test.mustNotCall();

Rückgabeergebnisse:

  • Function, gibt die umschlossene Funktion zurück

run

Beginnen Sie mit der Ausführung des definierten Testmoduls

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

Aufrufparameter:

  • mode: Ganzzahl, gibt den Testmodus an. Bei ERROR werden die Projektfehlerinformationen konzentriert und nach dem Bericht angezeigt. Wenn er niedriger als ERROR ist, werden die Ausgabeinformationen jederzeit angezeigt. Wenn er höher als ERROR ist, wird nur der Bericht angezeigt angezeigt.

Rückgabeergebnisse:

  • Object, Testergebnisse zurückgeben

Nach Abschluss des Testlaufs werden die Testergebnisse in folgender Form zurückgegeben:

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

Initialisieren Sie die Testumgebung des aktuellen Skripts und kopieren Sie die Testmodulmethode als globale Variable des aktuellen Skripts

1
static test.setup();

statische Eigenschaften

slow

Ganzzahl, legen Sie den Warnschwellenwert für langsame Tests fest und fragen Sie ihn ab. In ms ist der Standardwert 75

1
static Integer test.slow;