Wie benutze ich Cypress mit Vue?
Beim Testen von VUE -Anwendungen mit Cypress ist es der Schlüssel zu verstehen, wie Testwerkzeuge mit Framework -Funktionen kombiniert werden. 1. Installieren Sie Cypress und konfigurieren Sie das Projekt, fügen Sie Abhängigkeiten über NPM oder Garn hinzu und starten Sie die grafische Schnittstelle. 2. Schreiben Sie eine E2E -Testdatei, speichern Sie sie im Cypress/E2E -Verzeichnis am Ende von .spec.js, verwenden Sie Cy.vissit (), um auf die Seite und Cy.Contains () zuzugreifen, um den Inhalt zu überprüfen; 3.. Verwenden Sie die Vue -Komponenten -Wechselwirkung, simulieren Sie die Vorgänge über Cy.get (). Click () und prüfen Sie Statusänderungen und geben Sie die Verwendung der automatischen Wiederholungsmechanismus von Cypress Priorität und nicht Cy.wait (). 4. Debuggen und führen Sie Tests aus, verwenden Sie eine grafische Schnittstelle, um in einer CI -Umgebung allmählich über NPX -Cypress -Lauf zu debuggen oder Kopflos auszuführen und Screenshots, Protokolle und andere Hilfsbehörden zu kombinieren. Das Beherrschen der Details des Pfadzugriffs, der Elementauswahl und des asynchronen Wartens ist der Schlüssel zum Erreichen zuverlässiger Tests.
Beim Testen von VUE -Anwendungen mit Zypressen ist es wichtig zu verstehen, wie Testwerkzeuge und Framework -Funktionen kombiniert werden. Cypress ist ein Front-End-Test-Tool, das gut mit VUE für End-to-End-Tests (E2E) funktioniert.
Installieren Sie Zypressen und konfigurieren Sie das Projekt
Stellen Sie zunächst sicher, dass Ihr VUE -Projekt erstellt wurde und Sie die Testfunktionen hinzufügen möchten. Die Möglichkeit zur Installation von Cypress ist sehr einfach:
- Verwenden Sie NPM oder Garn, um Abhängigkeiten hinzuzufügen:
NPM Installieren Sie Cypress-Save-dev
oder
Garn hinzufügen Cypress - -dev
Nach Abschluss der Installation können Sie Cypress mit dem folgenden Befehl starten:
NPX Cypress Open
Dies führt Sie in die grafische Schnittstelle von Cypress und generiert automatisch grundlegende Verzeichnisstrukturen, z. B. cypress/e2e
-Ordner zum Speichern von Testdateien.
Wenn Sie ein von Vue CLI erstellter Projekt verwenden, können Sie auch den offiziellen Plug-in- cypress-vue-unit-test
installieren, um Unit-Tests zu unterstützen. Hier konzentrieren wir uns jedoch hauptsächlich auf den grundlegenden Prozess des E2E-Tests.
Schreiben Sie den ersten E2E -Test
Cypress -Testdateien enden normalerweise in .spec.js
und werden im cypress/e2e
-Verzeichnis platziert. Unter der Annahme, dass Ihre Vue -App -Homepage einen Titel "Willkommen in meiner App" zeigt, können Sie einen einfachen Test wie diesen schreiben, um zu überprüfen, ob er vorhanden ist:
beschreiben ('mein erster Test', () => { It ('Besucht die App -Homepage', () => { Cy.vissit ('/') // Zugriff auf den Stammpfad des lokalen Entwicklungsservers Cy.Contains ('H1', 'Willkommen in meiner App') // H1 -Tags mit spezifischem Text finden}) })
Dieser Code macht ein paar Dinge:
-
cy.visit()
öffnet die angegebene Seite -
cy.contains()
prüft, ob auf der Seite ein passender Inhalt vorhanden ist - Wenn der Text nicht gefunden wird, fällt der Test fehl
Dieses Beispiel zeigt zwar einfach, zeigt, wie Cypress das Benutzerverhalten simuliert und die Ergebnisse validiert.
Wechselwirkung der VUE -Komponente handhaben
Die komponentierte Struktur von Vue mag einige Vorgänge etwas kompliziert erscheinen lassen, aber Cypress bietet eine API, die leistungsstark genug ist, um diese Situationen zu bewältigen.
Wenn Sie beispielsweise auf eine Schaltfläche klicken und überprüfen möchten, ob sich ein bestimmter Status geändert hat, können Sie dies tun:
IT ('klickt auf eine Schaltfläche und überprüft das Ergebnis', () => { cy.vissit ('/') Cy.get ('. My-Button'). Click () // Klicken Sie auf das Element mit dem Klassennamen My-Button Cy.Contains ('P', 'Daten erfolgreich aktualisiert!') // Überprüfen Sie, ob der erwartete Inhalt angezeigt wird})
Beachten:
- Vue aktualisiert dynamisch die DOM
- Die Verwendung
cy.get()
undcy.contains()
ist normalerweise eine sichere Möglichkeit, automatisch wieder zu werden, bis das Ziel gefunden oder Zeitlimit erreicht ist.
Wenn Sie auf Daten geladen sind, die asynchron geladen sind, können Sie cy.wait()
verwenden. Es wird jedoch empfohlen cy.contains()
oder andere Behauptungen zu verwenden, die auf DOM -Änderungen basieren, um implizit zu warten.
Debugging und Ausführung von Tests
Debugging Cypress -Tests ist eigentlich sehr intuitiv. Nachdem Sie npx cypress open
ausgeführt haben, können Sie die Testdatei auswählen, die über die grafische Schnittstelle ausgeführt werden soll. Jeder Schritt wird aufgezeichnet. Klicken Sie auf einen beliebigen Schritt, um den DOM -Status zu diesem Zeitpunkt anzuzeigen.
Wenn Sie Tests in einer CI -Umgebung ausführen möchten, können Sie den folgenden Befehl verwenden:
NPX Cypress Run
Dadurch werden alle Tests im kopflosen Modus ausgeführt und die Ergebnisse ausgegeben.
Einige häufige Tipps:
- Verwenden Sie
cy.log()
, um Debugging -Informationen auszugeben - Screenshots und Aufzeichnungsvideos, wenn der Test fehlschlägt (Cypress macht dies standardmäßig)
- Führen Sie den Test mit dem Parameter mit dem
--headed
aus, um die Browser -Schnittstelle anzuzeigen
Grundsätzlich ist das. Die Kombination von Zypressen und Vue ist nicht kompliziert, aber Details können leicht übersehen, wie z. B. Zugriffswege, Elemente -Selektoren und asynchrone Wartenmechanismen. Nach dem Beherrschen dieser Aspekte können Sie zuverlässige Tests für Ihre VUE -Anwendung reibungsloser schreiben.
Das obige ist der detaillierte Inhalt vonWie benutze ich Cypress mit Vue?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Erstellen Sie eine Themenschaltkomponente, verwenden Sie das Kontrollkästchen, um den Status isdarkmode zu binden und die Togglethe -Funktion aufzurufen. 2. Überprüfen Sie die Präferenzen für die Lokalstor- und Systempräferenzen in der Begründung, um das Thema zu initialisieren. 3. Definieren Sie die Funktion an Applytheme, um die Dark-Mode-Klasse auf das HTML-Element auf den Schalter Stile anzuwenden. 4. Verwenden Sie CSS-benutzerdefinierte Eigenschaften, um helle und dunkle Variablen zu definieren und die Standardstile durch die Dark-Mode-Klasse zu überschreiben. 5. Führen Sie die ThemesSwitcher -Komponente in die Hauptantragsvorlage ein, um die Schaltfläche "Schalter" anzuzeigen. 6. Hören Sie optional Vorläufe Änderungen der Farbscheme an, um das Systemthema zu synchronisieren. Diese Lösung verwendet Vue

Berechnet hat einen Cache, und mehrere Zugriffe werden nicht neu berechnet, wenn die Abhängigkeit unverändert bleibt, während Methoden jedes Mal ausgeführt werden, wenn sie aufgerufen werden. 2. Computed eignet sich für Berechnungen basierend auf reaktionsschnellen Daten. Methoden eignen sich für Szenarien, in denen Parameter erforderlich sind, oder häufige Aufrufe, das Ergebnis hängt jedoch nicht von reaktionsschnellen Daten ab. 3. Computed unterstützt Getter und Setzer, die die Zwei-Wege-Synchronisation von Daten realisieren können. Methoden werden jedoch nicht unterstützt. 4. Zusammenfassung: Verwenden Sie zuerst berechnet, um die Leistung zu verbessern und Methoden zu verwenden, wenn sie Parameter übergeben, Vorgänge ausführen oder Cache vermeiden. Nach dem Prinzip "Wenn Sie berechnet können, verwenden Sie keine Methoden".

Erstellen Sie die modal.vue-Komponente, definieren Sie die Kompositions-API, um die Requisiten zu definieren, die ModelValue und Title empfangen, und verwenden Sie Emit, um das Update: modelValue-Ereignis auszulösen, um die bidirektionale V-Modell-Bindung zu erreichen. 2. Verwenden Sie den Slot, um den Inhalt in der Vorlage zu verteilen, wodurch der Standard -Steckplatz und den benannten Slot -Header und die Fußzeile unterstützt werden. 3. Verwenden Sie @click.self, um das Popup-Fenster zu schließen, indem Sie auf die Maskenebene klicken. 4. Importieren Sie das Modal in der übergeordneten Komponente und verwenden Sie die Ref, um die Anzeige zu steuern und auszublenden und verwenden Sie es in Kombination mit V-Model. 5. Zu den optionalen Verbesserungen gehört das Anhören des Escape Key Close, das Hinzufügen von Übergangsanimationen und Fokussperrungen. Diese Modal -Box -Komponente hat gut

VueClicAndillbeinstalledforlegacyProjectSusingNpMinstall-g@vue/cli, Butitisdeprecatedasof2023.1.ensurenode.js (v14 ) und npMareinstalledByRunningNode-versionandnpm-version.2.installvUeCLigloballyWithnpminstall-b.vue/cli.3.VerififyTheInstallationusingVue

Durch das Bestehen von Routing -Parametern mit Requisiten können Komponenten die Wiederverwendung und Prüfung erleichtern. Es gibt drei Möglichkeiten: ① Boolean -Modus: Requisiten: True gibt Routing -Parameter als Requisiten; ② Objektmodus: Requisiten: {Schlüssel: Wert}, um statische Werte zu übergeben; ③ Funktionsmodus: Requisiten: (Route) => ({}) kann dynamisch Parameter verarbeiten und übergeben. Die entsprechenden Requisiten müssen in der Komponente deklariert werden, was für einfache Szenarien geeignet ist und die Entkopplung und Wartbarkeit der Komponenten verbessert.

VuelifecycleHooksallowyoutoExecutecodeatspezifische Stagesofacomponent'sexistenz.1.Berecreecreaterunununswhenthecomponentisinitialisierte, Befheraktivitäts -ISSETUP.2. CreatediscalledafterReaktivität, makedataandmethodsavailable, ideal, ideal, bebau

Verwenden Sie die Kompositions-API von VUE3, um die Suchfilterfunktion zu implementieren. Der Kern besteht darin, die Liste dynamisch über V-Modell-Bindungssuche und berechnete Attribut zu filtern. 2. Verwenden Sie TolowerCase (), um Fall-unempfindliche und teilweise Übereinstimmungen zu erreichen. 3.. Sie können Suchbegriffe über Watch und SetTimeout kombinieren, um 300 ms Anti-Shake zu erreichen, um die Leistung zu verbessern. V. 5. Zu den Best Practices gehört die Verwendung berechnet anstelle von Methoden, das Aufbewahren der Originaldaten, das Hinzufügen von Tasten zu V-for und das Anzeigen einer "Nicht gefundenen" Eingabeaufforderung, wenn kein Ergebnis vorliegt. Diese Lösung ist einfach und effizient und für große geeignet

Wählen Sie JwtoroAuthforAuthentication; 2. createaloginformtosendcredentials undStoretokenSecurely, vorzugsweise, vorzugsweise anhttttponlycookiesinsteadofLocalstoragetopreventxss
