Heim Backend-Entwicklung PHP-Tutorial Yii Framework Offizieller Leitfaden Serie 38 – Definieren spezifischer Zustände (Fixtures)

Yii Framework Offizieller Leitfaden Serie 38 – Definieren spezifischer Zustände (Fixtures)

Feb 15, 2017 am 09:43 AM



Automatisierte Tests müssen viele Male ausgeführt werden. Um sicherzustellen, dass der Testprozess wiederholbar ist, möchten wir wirklich in einigen bekannten Zuständen testen , wir nennen diesen Zustand Spezifischer Zustand. Wenn wir beispielsweise die Artikelerstellungsfunktion in einer Blog-Anwendung testen, wird bei jeder Durchführung des Tests die Tabelle zum Artikel angezeigt (z. B. Post Tabelle , Comment Tabelle) sollte in einem bestimmten Zustand wiederhergestellt werden. Die PHPUnit-Dokumentation enthält eine gute Beschreibung des allgemeinen Aufbaus eines bestimmten Zustands. In diesem Abschnitt wird hauptsächlich beschrieben, wie ein datenbankspezifischer Zustand wie im gerade beschriebenen Beispiel erstellt wird

Das Festlegen des spezifischen Status der erstellten Datenbank ist wahrscheinlich einer der zeitaufwändigsten Teile beim Testen von Anwendungen mit Datenbank-Backend-Unterstützung. Die von Yii eingeführte Anwendungskomponente CBbFixtureManager kann dieses Problem bei der Durchführung einer Reihe von Tests effektiv lindern Im Wesentlichen geschieht Folgendes:

  • Bevor alle Tests ausgeführt werden, werden testbezogene Daten auf einen erkennbaren Zustand zurückgesetzt

  • Vor einem einzelnen Test Wenn es ausgeführt wird, wird eine bestimmte Tabelle auf einen bekannten Status zurückgesetzt.

  • Während der Ausführung einer Testmethode bietet es eine Möglichkeit, Datenzeilen in einem bestimmten Status bereitzustellen.

Bitte verwenden Sie den CDbFixtureManager, den wir in der Anwendungskonfiguration wie folgt konfiguriert haben.


return array(
    'components'=>array(
        'fixture'=>array(
            'class'=>'system.test.CDbFixtureManager',
        ),
    ),
);
Nach dem Login kopieren

Dann stellen wir bestimmte Statusdaten im Verzeichnis

bereit, indem wir das Attribut CDbFixtureManager::basePath in der Anwendungskonfigurationsdatei konfigurieren ist eine Kombination aus PHP-Dateien spezifischer Statusdateien. Jede spezifische Statusdatei gibt die erste Zeile einer bestimmten Datentabelle zurück. Der Dateiname und der Tabellenname sind identisch protected/tests/fixtures Tabellenbeispiel in einer Datei mit dem Namen Post.Post.php


<?php
return array(
    &#39;sample1&#39;=>array(
        'title'=>'test post 1',
        'content'=>'test post content 1',
        'createTime'=>1230952187,
        'authorId'=>1,
    ),
    'sample2'=>array(
        'title'=>'test post 2',
        'content'=>'test post content 2',
        'createTime'=>1230952287,
        'authorId'=>1,
    ),
);
Nach dem Login kopieren

Wie wir sehen können, das Obige gibt zwei Zeilendaten zurück. Jede Zeile stellt ein Array dar, der Schlüssel ist der Feldname der Tabelle und der Wert ist der entsprechende Feldwert. Der Index jeder Zeile ist eine Zeichenfolge mit dem Namen

Zeilenalias (z. B : , simple1). dass wir den Wert des Felds simple2 im obigen spezifischen Zustand nicht angegeben haben. Dies liegt daran, dass das Feld

als automatisch inkrementierender Primärschlüssel definiert wurde und sein Wert auch automatisch generiert wird, wenn wir einen neuen Schlüssel einfügen data.

idWenn CDbFixtureManager zum ersten Mal referenziert wird, prüft er sorgfältig alle spezifischen Statusdateien und verwendet sie dann zum Zurücksetzen der entsprechenden Tabelle. Er löscht die Tabelle und setzt den Wert der automatischen Inkrementierungssequenz zurück Primärschlüssel der Tabelle und fügt dann den Wert aus „Zurücksetzen der Tabelle“ ein, indem Datenzeilen aus einer bestimmten Statusdatei in die Tabelle eingefügt werden.id

Manchmal möchten wir möglicherweise nicht jede zuvor in einer bestimmten Statusdatei beschriebene Tabelle zurücksetzen Eine Reihe von Tests, da das Zurücksetzen zu vieler spezifischer Statusdateien viel Zeit in Anspruch nehmen kann. In diesem Fall können wir ein PHP-Skript schreiben, um diesen Initialisierungsprozess anzupassen. Dieses Skript sollte in dem Verzeichnis gespeichert werden, in dem sich die spezifische Statusdatei befindet gespeichert und mit dem Namen

versehen. Wenn CDbFixtureManager dies erkennt, führt es dieses Skript aus, anstatt jede Tabelle zurückzusetzen.

Es ist in Ordnung, wenn Sie nicht die Standardmethode zum Zurücksetzen verwenden möchten Tabelle, zum Beispiel: Löschen Sie die Tabelle und fügen Sie dann bestimmte Statusdaten ein. In diesem Fall können wir ein Initialisierungsskript für die angegebene spezifische Statusdatei schreiben. Dieses Skript muss Tabellenname + init.php heißen. Die Initialisierungsskriptdatei der Tabelle

ist

. Wenn CDbFixtureManager dieses Skript findet, wird dieses Skript ausgeführt, anstatt die Tabelle auf die Standardmethode zurückzusetzen..init.phpPostPost.init.php

Tipp :
Zu viele zustandsspezifische Dateien verlängern die Testzeit erheblich. Daher sollten Sie nur bestimmte Zustandsdateien für Tabellen bereitstellen, deren Daten sich während des Tests ändern. Tabellen, die als Suchdienste dienen, ändern sich also nicht benötigt.

In den nächsten beiden Abschnitten werden wir darüber sprechen, wie bestimmte von CDbFixtureManager verwaltete Zustände in Komponententests und Funktionstests verwendet werden.

Das Obige ist der Inhalt von Yii Framework Offizielle Leitfadenreihe 38 – Definieren spezifischer Zustände (Fixtures). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

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ß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)

RESTful API-Entwicklung im Yii-Framework RESTful API-Entwicklung im Yii-Framework Jun 21, 2023 pm 12:34 PM

Yii ist ein leistungsstarkes MVC-Framework auf Basis von PHP. Es bietet einen sehr umfangreichen Satz an Tools und Funktionen zur Unterstützung der schnellen und effizienten Entwicklung von Webanwendungen. Unter anderem hat die RESTfulAPI-Funktion des Yii-Frameworks immer mehr Aufmerksamkeit und Liebe von Entwicklern auf sich gezogen, da mit dem Yii-Framework problemlos leistungsstarke und leicht skalierbare RESTful-Schnittstellen erstellt werden können, die die Entwicklung von Webanwendungen stark unterstützen. Einführung in RESTfulAPI RESTfulAPI ist eine

Yii-Framework-Middleware: Bereitstellung mehrerer Datenspeicherunterstützung für Anwendungen Yii-Framework-Middleware: Bereitstellung mehrerer Datenspeicherunterstützung für Anwendungen Jul 28, 2023 pm 12:43 PM

Yii-Framework-Middleware: Bereitstellung mehrerer Datenspeicherunterstützung für Anwendungen Einführung Middleware (Middleware) ist ein wichtiges Konzept im Yii-Framework, das mehrere Datenspeicherunterstützung für Anwendungen bereitstellt. Middleware fungiert wie ein Filter und fügt benutzerdefinierten Code zwischen den Anforderungen und Antworten einer Anwendung ein. Mithilfe der Middleware können wir Anforderungen verarbeiten, überprüfen, filtern und die verarbeiteten Ergebnisse dann an die nächste Middleware oder den endgültigen Handler weitergeben. Middleware im Yii-Framework ist sehr einfach zu verwenden

So verwenden Sie das Yii-Framework in PHP So verwenden Sie das Yii-Framework in PHP Jun 27, 2023 pm 07:00 PM

Mit der rasanten Entwicklung von Webanwendungen ist die moderne Webentwicklung zu einer wichtigen Fähigkeit geworden. Für die Entwicklung effizienter Webanwendungen stehen viele Frameworks und Tools zur Verfügung, unter denen das Yii-Framework ein sehr beliebtes Framework ist. Yii ist ein leistungsstarkes, komponentenbasiertes PHP-Framework, das die neuesten Designmuster und Technologien nutzt, leistungsstarke Tools und Komponenten bereitstellt und sich ideal für die Erstellung komplexer Webanwendungen eignet. In diesem Artikel besprechen wir, wie Sie das Yii-Framework zum Erstellen von Webanwendungen verwenden. Installieren Sie zuerst das Yii-Framework.

Schritte zum Implementieren von Webseiten-Caching und Seiten-Chunking mit dem Yii-Framework Schritte zum Implementieren von Webseiten-Caching und Seiten-Chunking mit dem Yii-Framework Jul 30, 2023 am 09:22 AM

Schritte zum Implementieren von Webseiten-Caching und Seiten-Chunking mit dem Yii-Framework Einführung: Während des Webentwicklungsprozesses ist es zur Verbesserung der Leistung und Benutzererfahrung der Website häufig erforderlich, die Seite zwischenzuspeichern und zu segmentieren. Das Yii-Framework bietet leistungsstarke Caching- und Layoutfunktionen, die Entwicklern dabei helfen können, Webseiten-Caching und Seiten-Chunking schnell zu implementieren. In diesem Artikel wird erläutert, wie das Yii-Framework zum Implementieren von Webseiten-Caching und Seiten-Chunking verwendet wird. 1. Aktivieren Sie das Webseiten-Caching. Im Yii-Framework kann das Webseiten-Caching über die Konfigurationsdatei aktiviert werden. Öffnen Sie die Hauptkonfigurationsdatei co

Erstellen Sie eine Spielanleitungs-Website mit dem Yii-Framework Erstellen Sie eine Spielanleitungs-Website mit dem Yii-Framework Jun 21, 2023 pm 01:45 PM

In den letzten Jahren haben mit der rasanten Entwicklung der Spielebranche immer mehr Spieler begonnen, nach Spielstrategien zu suchen, die ihnen helfen, das Spiel zu bestehen. Daher kann die Erstellung einer Spielanleitungs-Website den Spielern den Zugang zu Spielanleitungen erleichtern und gleichzeitig den Spielern ein besseres Spielerlebnis bieten. Beim Erstellen einer solchen Website können wir das Yii-Framework für die Entwicklung verwenden. Das Yii-Framework ist ein Webanwendungsentwicklungsframework, das auf der Programmiersprache PHP basiert. Es zeichnet sich durch hohe Effizienz, Sicherheit und starke Skalierbarkeit aus und kann uns dabei helfen, einen Spielführer schneller und effizienter zu erstellen.

Yii Framework Middleware: Fügen Sie Ihrer Anwendung Protokollierungs- und Debugging-Funktionen hinzu Yii Framework Middleware: Fügen Sie Ihrer Anwendung Protokollierungs- und Debugging-Funktionen hinzu Jul 28, 2023 pm 08:49 PM

Yii-Framework-Middleware: Protokollierungs- und Debugging-Funktionen zu Anwendungen hinzufügen [Einführung] Bei der Entwicklung von Webanwendungen müssen wir normalerweise einige zusätzliche Funktionen hinzufügen, um die Leistung und Stabilität der Anwendung zu verbessern. Das Yii-Framework stellt das Konzept der Middleware bereit, das es uns ermöglicht, einige zusätzliche Aufgaben auszuführen, bevor und nachdem die Anwendung die Anfrage verarbeitet. In diesem Artikel wird erläutert, wie Sie die Middleware-Funktion des Yii-Frameworks verwenden, um Protokollierungs- und Debugging-Funktionen zu implementieren. [Was ist Middleware?] Middleware bezieht sich auf die Verarbeitung von Anfragen und Antworten vor und nach der Verarbeitung der Anfrage durch die Anwendung.

So verwenden Sie Controller zur Verarbeitung von Ajax-Anfragen im Yii-Framework So verwenden Sie Controller zur Verarbeitung von Ajax-Anfragen im Yii-Framework Jul 28, 2023 pm 07:37 PM

Im Yii-Framework spielen Controller eine wichtige Rolle bei der Bearbeitung von Anfragen. Zusätzlich zur Verarbeitung regulärer Seitenanfragen können Controller auch zur Verarbeitung von Ajax-Anfragen verwendet werden. In diesem Artikel wird erläutert, wie Ajax-Anfragen im Yii-Framework verarbeitet werden, und es werden Codebeispiele bereitgestellt. Im Yii-Framework kann die Verarbeitung von Ajax-Anfragen über die folgenden Schritte erfolgen: Erstellen Sie zunächst eine Controller-Klasse (Controller). Sie können die vom Yii-Framework bereitgestellte grundlegende Controller-Klasse yiiwebCo erben

Verschlüsseln und entschlüsseln Sie sensible Daten mithilfe der Yii-Framework-Middleware Verschlüsseln und entschlüsseln Sie sensible Daten mithilfe der Yii-Framework-Middleware Jul 28, 2023 pm 07:12 PM

Verschlüsseln und Entschlüsseln sensibler Daten mithilfe der Yii-Framework-Middleware Einführung: In modernen Internetanwendungen sind Datenschutz und Datensicherheit sehr wichtige Themen. Um sicherzustellen, dass die sensiblen Daten der Benutzer nicht für unbefugte Besucher zugänglich sind, müssen wir diese Daten verschlüsseln. Das Yii-Framework bietet uns eine einfache und effektive Möglichkeit, die Funktionen zum Verschlüsseln und Entschlüsseln sensibler Daten zu implementieren. In diesem Artikel erfahren Sie, wie Sie dies mithilfe der Middleware des Yii-Frameworks erreichen. Einführung in das Yii-Framework Das Yii-Framework ist ein leistungsstarkes PHP-Framework.

See all articles