Heim Web-Frontend js-Tutorial Erste Schritte mit Qunit

Erste Schritte mit Qunit

Feb 21, 2025 pm 12:12 PM

Getting Started with QUnit

Software -Tests ist ein Prozess der Bewertung von Software, um die Differenz zwischen der erwarteten Ausgabe und der tatsächlichen Ausgabe eines bestimmten Eingangssatzes zu erkennen. Testen, insbesondere Unit -Tests, sollten ein wesentlicher Bestandteil des Lebens jedes Entwicklers sein. Leider scheinen viele Entwickler Angst vor der Aktivität zu haben. In JavaScript können wir aus vielen Frameworks wählen, um unsere Codebasis zu testen. Zum Beispiel Mokka, Selen und Qunit. In diesem Artikel werde ich Ihnen Qunit vorstellen. Qunit ist ein vom JQuery -Team entwickeltes und gewartetes Rahmen für das Testen, das auch hinter Projekten wie JQuery und JQuery UI steht.

Schlüsselpunkte

  • Qunit wird vom JQuery -Team entwickelt und gepflegt und ist ein beliebtes JavaScript -Unit -Test -Framework für die Benutzerfreundlichkeit und Einfachheit des Setups.
  • Um mit Qunit zu beginnen, laden Sie die neueste Version von JavaScript- und CSS -Dateien von der Qunit -Website herunter und fügen Sie sie in Ihre HTML -Datei auf.
  • Qunit bietet zwei Möglichkeiten, um neue Tests zu erstellen: QUnit.test() für Synchroncode und QUnit.asyncTest() für asynchrone Code. Diese Tests enthalten Behauptungen, die überprüfen, ob der Code wie erwartet funktioniert.
  • Qunit liefert eine Vielzahl von Assertionsmethoden, einschließlich deepEqual(), equal(), notDeepEqual(), notEqual(), propEqual(), strictEqual(), notPropEqual(), notStrictEqual(), ok(), throws() ,
  • ,
  • , expect() und
  • . Jede Methode hat ihren spezifischen Zweck und akzeptiert bestimmte Parameter.

Beim Erstellen von Tests mit Qunit besteht die beste Praxis darin, die Anzahl der Aussagen mit der -Methode festzulegen. Dies hilft sicherzustellen, dass alle Behauptungen ausgeführt werden und wenn eine oder mehrere Behauptungen nicht ausgeführt werden, schlägt der Test fehl.

Einstellungen Qunit Einer der Hauptgründe, warum viele Entwickler Qunit verwenden, ist die Benutzerfreundlichkeit. Der Einstieg mit diesem Framework ist sehr einfach und Sie können die Hauptkonzepte in wenigen Stunden beherrschen. Der erste Schritt zur Verwendung von Qunit besteht offensichtlich darin, es mit dem Herunterladen zu beginnen. Dies gibt verschiedene Möglichkeiten, dies zu tun: Laden Sie manuell von der Website herunter, verwenden Sie CDN, verwenden Sie Bower oder verwenden Sie NPM. Mein Rat ist, dass Sie sich nicht auf CDN verlassen sollten, um Ihren Code zu testen, es sei denn, Sie entwickeln eine einfache Live -Demo. Halten Sie sich also an andere Optionen. Für diesen Artikel möchte ich keine Voraussetzungen festlegen (Read Bower und NPM), also werden wir den ersten Ansatz verfolgen. Besuchen Sie daher die Qunit-Website und laden Sie die neueste Version der JavaScript-Datei (mit dem Namen Qunit-1.14.0.js) und der CSS-Datei (mit dem Namen Qunit-1.14.0.css) herunter. Setzen Sie sie in einen Ordner, in dem Sie auch einen Index.html erstellen. In dieser Datei platzieren wir den HTML -Code, der auf der Startseite der Website angezeigt wird, und ich werde ihn unten für die Bequemlichkeit wiederholen.
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>QUnit Example</title>
  <link rel="stylesheet" href="qunit-1.14.0.css">
</head>
<body>
  <div id="qunit"></div>
  <div id="qunit-fixture"></div>
  <🎜>
  <🎜>
</body>
</html>
Nach dem Login kopieren
Nach dem Login kopieren

Wie Sie sehen, verwendet dieser Code CDN, um CSS- und JavaScript -Dateien zu enthalten. Daher müssen Sie den Link aktualisieren, um die zuvor heruntergeladenen Dateien hinzuzufügen. In der Marke können Sie einige <div> platziert sehen. Der erste hat Qunit als ID, das vom Framework verwendet wird, um die Benutzeroberfläche anzuzeigen, wo die Testergebnisse angezeigt werden. Der zweite <div>, dessen ID Qunit-fixe ist, sollte von Ihnen (dem Entwickler) verwendet werden. Mit diesem Element können Entwickler den Code testen, der Elemente aus dem DOM hinzufügt, bearbeitet oder entfernt, ohne sich Sorgen darüber zu machen, dass das DOM nach jedem Test aufgeräumt wird. Wenn Sie das von Ihrem Code erstellte Element in diesem <div> einfügen, wird Qunit den Reset für uns abwickeln. Schließlich fügen wir eine Tests.js -Datei hinzu, die die Datei mit den Tests darstellt. Mein Rat ist, Dateien zu verwenden, um Tests bei der Arbeit mit echten Projekten zu speichern. In der Live -Demo, die ich für dieses Tutorial erstellt habe, habe ich JSBin verwendet und das Hochladen von Dateien sicherlich nicht zugelassen. In der Demo werden Sie also sehen, dass ich den Testcode eingebaut habe. Nachdem Sie verstehen, was es bedeutet, jeden Abschnitt zu markieren, öffnen Sie die Seite index.html in Ihrem Browser, um zu sehen, was passiert. Wenn alles gut geht, sollten Sie eine Live -Demo -Schnittstelle wie unten gezeigt sehen, die auch als Beispiel für JSBIN: Qunit bereitgestellt wird. In diesem Stadium ist der einzige Teil dieser Schnittstelle, das für uns relevant ist, der Teil, der die Zeit zeigt, die Qunit Verarbeitungstests verbringt, die Anzahl der definierten Behauptungen und die Anzahl der bestandenen und fehlgeschlagenen Tests. Die obige Demonstration zeigt, dass wir keine Tests definieren. Lassen Sie uns dieses Problem lösen.

Erstellen Sie Tests mit Qunit

Qunit bietet zwei Möglichkeiten, neue Tests zu erstellen: QUnit.test() und QUnit.asyncTest(). Der erste wird verwendet, um den Code zu testen, der synchron ausgeführt wird, während der zweite zum Testen asynchroner Code verwendet wird. In diesem Abschnitt werde ich beschreiben, wie Tests für Synchroncode erstellt werden. Die Signatur der Methode ist wie folgt: QUnit.test()

QUnit.test(name, testFunction)
Nach dem Login kopieren
Nach dem Login kopieren
Der erste Parameter

ist eine Zeichenfolge, die uns hilft, die erstellten Tests zu identifizieren. Der zweite Parameter name ist eine Funktion, die die Behauptungen enthält, die das Framework ausführt. Das Framework übergibt einen Parameter an diese Funktion, mit dem alle Assertionsmethoden von Qunit enthüllt werden. Konvertieren Sie diese Beschreibung in Code, wir können die Datei tests.js mit dem folgenden Code aktualisieren: testFunction

QUnit.test('我的第一个测试', function(assert) {
   // 断言在这里...
});
Nach dem Login kopieren
Dieser Code erstellt einen neuen Test, der durch die Zeichenfolge "Mein erster Test" und eine Funktion mit einem leeren Körper identifiziert wurde. Das Hinzufügen von Tests ohne Behauptungen ist nicht nützlich. Um dieses Problem zu lösen, müssen wir die in Qunit verfügbaren Behauptungsmethoden lernen.

Qunits Assertion -Methode

Behauptungen stehen im Mittelpunkt der Softwaretests. Sie erlauben uns zu überprüfen, ob unser Code wie erwartet funktioniert. In Qunit haben wir viele Möglichkeiten, diese Erwartungen zu überprüfen. Sie können in Tests durch Parameter von Funktionen zugegriffen werden, die an die

-Methode übergeben wurden (in unserem vorherigen Beispiel QUnit.test()). Die folgende Liste fasst die verfügbaren Methoden sowie deren Funktionen und Unterschriften zusammen: assert

  • deepEqual(value, expected[, message]): Ein rekursiver strenger Vergleich, der für alle JavaScript -Typen funktioniert. Wenn value und expected in Bezug auf Eigenschaften und Werte gleich sind und denselben Prototyp haben, wird die Behauptung übergeben;
  • : Der Parameter equal(value, expected[, message]) gleich value unter Verwendung von Vergleichsüberprüfung (==). expected
  • : Wie notDeepEqual(value, expected[, message]), testet jedoch die Ungleichheit; deepEqual()
  • : Wie
  • , testet jedoch die Ungleichheit; notEqual(value, expected[, message]) equal(): Strikter Vergleich der Eigenschaften und Werte eines Objekts. Wenn alle Attribute und Werte gleich sind, geht die Behauptung aus
  • : Verwenden Sie strenge Vergleich (===), um den Parameter propEqual(value, expected[, message]) gleich dem
  • zu liefern
  • strictEqual(value, expected[, message]): Wie value, testet jedoch die Ungleichheit; expected
  • : Wie
  • , testet jedoch die Ungleichheit; notPropEqual(value, expected[, message]) propEqual(): Wenn der erste Parameter ein wahrer Wert ist, geht die Behauptung aus
  • : Testen Sie, ob der Rückruf eine Ausnahme ausgelöst hat, und vergleichen Sie optional die geworfenen Fehler notStrictEqual(value, expected[, message]) strictEqual() Die von diesen Methoden akzeptierten Parameter sind wie folgt:
  • ok(value[, message])
  • : Der Wert, der durch eine Funktion, Methode oder den in einer Variablen gespeicherten Wert zurückgegeben wird, der überprüft werden muss;
  • throws(function[, expected][, message]): Der zu testende Wert. Für die
  • -Methode kann dies
sein;

: Eine optionale Zeichenfolge, die die Behauptung beschreibt;
  • : Die zu ausgeführte Funktion sollte einen Fehler zurückgeben value
  • Jetzt, da Sie die verfügbaren Methoden und Parameter verstanden haben, ist es Zeit, einen Code zu überprüfen. Anstatt mehrere Tests für eine einzelne Funktion zu schreiben, versuche ich, ein realistischeres Beispiel zu reproduzieren. Wie auch immer, die Tests, die ich zeigen werde, sollten Sie nicht als vollständige Testsuite angesehen werden, aber sie sollten Ihnen eine bestimmte Vorstellung davon geben, wo Sie anfangen sollen. Um die genannten Tests zu schreiben, müssen wir einen Code zum Testen definieren. In diesem Fall werde ich ein Objektliteral wie folgt definieren:
  • <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <title>QUnit Example</title>
      <link rel="stylesheet" href="qunit-1.14.0.css">
    </head>
    <body>
      <div id="qunit"></div>
      <div id="qunit-fixture"></div>
      <🎜>
      <🎜>
    </body>
    </html>
    Nach dem Login kopieren
    Nach dem Login kopieren

    Wie Sie sehen, definieren wir ein Objektliteral mit drei Funktionen: max(), isOdd() und sortObj(). Der erste akzeptiert eine beliebige Anzahl von Parametern und gibt den Maximalwert zurück. isOdd() Nehmen Sie eine Zahl als Parameter und testen Sie, ob es sich um eine ungerade Zahl handelt. sortObj() akzeptiert ein Array von Objekten, idealerweise sollte es ein Attribut namens Timestempe geben und sie nach dem Wert dieses Attributs sortiert. Die möglichen Testsätze dieser Funktionen sind wie folgt: (Das Beispiel für das lange Testcode wird hier weggelassen, da die Wortgrenze überschritten wurde, das Prinzip jedoch mit der vorherigen Beschreibung übereinstimmt)

    Setzen Sie die Erwartungen

    Beim Erstellen eines Tests besteht die beste Praxis darin, die Anzahl der Ausführungen zu setzen. Wenn eine oder mehrere Behauptungen nicht ausgeführt werden, fällt der Test fehl. Das Qunit -Framework liefert zu diesem Zweck eine expect() -Methode. Diese Methode ist besonders nützlich, wenn Sie mit asynchronem Code zu tun haben, aber es ist am besten, ihn beim Testen synchroner Funktionen zu verwenden. Die Signatur der Methode ist wie folgt: expect()

    Der
    QUnit.test(name, testFunction)
    Nach dem Login kopieren
    Nach dem Login kopieren
    wobei der Parameter

    die erwartete Anzahl von Behauptungen angibt. (Das Beispiel für die Aktualisierung des Testcode wird auch hier weggelassen, da die Wortgrenze überschritten wurde, das Prinzip jedoch mit der vorherigen Beschreibung übereinstimmt.) assertionsNumber

    Qunit Einführung Schlussfolgerung

    In diesem Tutorial stelle ich Sie in die magische Welt der Tests vor, insbesondere wie man den JavaScript -Code von Unit -Tests mit Qunit mithilfe von Qunit testet. Wir haben gesehen, wie einfach es ist, das Qunit -Framework einzurichten und welche Methoden es bereitstellt, um Synchronisationsfunktionen zu testen. Darüber hinaus haben Sie die vom Framework bereitgestellte Anzahl von Behauptungsfunktionen zum Testen des Codes gelernt. Schließlich erwähnte ich, wie wichtig es ist, die Anzahl der Aussagen zu setzen, die wir ausführen, und wie sie mithilfe der

    -Methode festgelegt werden. Ich hoffe, Sie haben diesen Beitrag genossen und erwägen, Qunit in Ihr Projekt zu integrieren. (Der FAQS -Teil wird hier weggelassen, da die Wortgrenze überschritten wurde) expect()

    Das obige ist der detaillierte Inhalt vonErste Schritte mit Qunit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1672
14
PHP-Tutorial
1276
29
C#-Tutorial
1256
24
Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Apr 16, 2025 am 12:12 AM

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

JavaScript und das Web: Kernfunktionalität und Anwendungsfälle JavaScript und das Web: Kernfunktionalität und Anwendungsfälle Apr 18, 2025 am 12:19 AM

Zu den Hauptanwendungen von JavaScript in der Webentwicklung gehören die Interaktion der Clients, die Formüberprüfung und die asynchrone Kommunikation. 1) Dynamisches Inhaltsaktualisierung und Benutzerinteraktion durch DOM -Operationen; 2) Die Kundenüberprüfung erfolgt vor dem Einreichung von Daten, um die Benutzererfahrung zu verbessern. 3) Die Aktualisierung der Kommunikation mit dem Server wird durch AJAX -Technologie erreicht.

JavaScript in Aktion: Beispiele und Projekte in realer Welt JavaScript in Aktion: Beispiele und Projekte in realer Welt Apr 19, 2025 am 12:13 AM

Die Anwendung von JavaScript in der realen Welt umfasst Front-End- und Back-End-Entwicklung. 1) Zeigen Sie Front-End-Anwendungen an, indem Sie eine TODO-Listanwendung erstellen, die DOM-Operationen und Ereignisverarbeitung umfasst. 2) Erstellen Sie RESTFUFFUPI über Node.js und express, um Back-End-Anwendungen zu demonstrieren.

Verständnis der JavaScript -Engine: Implementierungsdetails Verständnis der JavaScript -Engine: Implementierungsdetails Apr 17, 2025 am 12:05 AM

Es ist für Entwickler wichtig, zu verstehen, wie die JavaScript -Engine intern funktioniert, da sie effizientere Code schreibt und Leistungs Engpässe und Optimierungsstrategien verstehen kann. 1) Der Workflow der Engine umfasst drei Phasen: Parsen, Kompilieren und Ausführung; 2) Während des Ausführungsprozesses führt die Engine dynamische Optimierung durch, wie z. B. Inline -Cache und versteckte Klassen. 3) Zu Best Practices gehören die Vermeidung globaler Variablen, die Optimierung von Schleifen, die Verwendung von const und lass und die Vermeidung übermäßiger Verwendung von Schließungen.

Python gegen JavaScript: Community, Bibliotheken und Ressourcen Python gegen JavaScript: Community, Bibliotheken und Ressourcen Apr 15, 2025 am 12:16 AM

Python und JavaScript haben ihre eigenen Vor- und Nachteile in Bezug auf Gemeinschaft, Bibliotheken und Ressourcen. 1) Die Python-Community ist freundlich und für Anfänger geeignet, aber die Front-End-Entwicklungsressourcen sind nicht so reich wie JavaScript. 2) Python ist leistungsstark in Bibliotheken für Datenwissenschaft und maschinelles Lernen, während JavaScript in Bibliotheken und Front-End-Entwicklungsbibliotheken und Frameworks besser ist. 3) Beide haben reichhaltige Lernressourcen, aber Python eignet sich zum Beginn der offiziellen Dokumente, während JavaScript mit Mdnwebdocs besser ist. Die Wahl sollte auf Projektbedürfnissen und persönlichen Interessen beruhen.

Python vs. JavaScript: Entwicklungsumgebungen und Tools Python vs. JavaScript: Entwicklungsumgebungen und Tools Apr 26, 2025 am 12:09 AM

Sowohl Python als auch JavaScripts Entscheidungen in Entwicklungsumgebungen sind wichtig. 1) Die Entwicklungsumgebung von Python umfasst Pycharm, Jupyternotebook und Anaconda, die für Datenwissenschaft und schnelles Prototyping geeignet sind. 2) Die Entwicklungsumgebung von JavaScript umfasst Node.JS, VSCODE und WebPack, die für die Entwicklung von Front-End- und Back-End-Entwicklung geeignet sind. Durch die Auswahl der richtigen Tools nach den Projektbedürfnissen kann die Entwicklung der Entwicklung und die Erfolgsquote der Projekte verbessert werden.

Die Rolle von C/C bei JavaScript -Dolmetschern und Compilern Die Rolle von C/C bei JavaScript -Dolmetschern und Compilern Apr 20, 2025 am 12:01 AM

C und C spielen eine wichtige Rolle in der JavaScript -Engine, die hauptsächlich zur Implementierung von Dolmetschern und JIT -Compilern verwendet wird. 1) C wird verwendet, um JavaScript -Quellcode zu analysieren und einen abstrakten Syntaxbaum zu generieren. 2) C ist für die Generierung und Ausführung von Bytecode verantwortlich. 3) C implementiert den JIT-Compiler, optimiert und kompiliert Hot-Spot-Code zur Laufzeit und verbessert die Ausführungseffizienz von JavaScript erheblich.

Von Websites zu Apps: Die verschiedenen Anwendungen von JavaScript Von Websites zu Apps: Die verschiedenen Anwendungen von JavaScript Apr 22, 2025 am 12:02 AM

JavaScript wird in Websites, mobilen Anwendungen, Desktop-Anwendungen und serverseitigen Programmierungen häufig verwendet. 1) In der Website -Entwicklung betreibt JavaScript DOM zusammen mit HTML und CSS, um dynamische Effekte zu erzielen und Frameworks wie JQuery und React zu unterstützen. 2) Durch reaktnatives und ionisches JavaScript wird ein plattformübergreifendes mobile Anwendungen entwickelt. 3) Mit dem Elektronenframework können JavaScript Desktop -Anwendungen erstellen. 4) Node.js ermöglicht es JavaScript, auf der Serverseite auszuführen und unterstützt hohe gleichzeitige Anforderungen.

See all articles