Maison développement back-end tutoriel php Yii Framework Official Guide Series 38 - Définition d'états spécifiques (luminaires)

Yii Framework Official Guide Series 38 - Définition d'états spécifiques (luminaires)

Feb 15, 2017 am 09:43 AM



Les tests automatisés doivent être exécutés plusieurs fois afin de garantir que le processus de test est reproductible, nous voulons vraiment tester dans certains états connus. , nous appelons cet état État spécifique Par exemple, lors du test de la fonctionnalité de création d'article dans une application de blog, à chaque fois que nous effectuons le test, le tableau lié à l'article (par exemple. Post tableau , Comment table) doit être restaurée dans un état spécifique. La documentation PHPUnit contient une bonne description de la construction générale d'un état spécifique. Cette section présente principalement comment construire un état spécifique à une base de données comme l'exemple qui vient d'être décrit.

La définition de l'état spécifique de la base de données construite est probablement l'une des parties les plus chronophages du test des applications avec prise en charge du backend de base de données. Le composant d'application CBbFixtureManager introduit par Yii peut efficacement atténuer ce problème lors de la réalisation d'un ensemble de tests. fait essentiellement ce qui suit :

  • Avant que tous les tests ne soient exécutés, il réinitialise les données liées aux tests à un état connaissable

  • Avant un seul. test est exécuté, il réinitialise une table spécifique à un état connu

  • Lors de l'exécution d'une méthode de test, il fournit un moyen de fournir des données de ligne pour un état spécifique.

Veuillez utiliser le CDbFixtureManager que nous avons configuré dans la configuration de l'application comme suit.


return array(
    'components'=>array(
        'fixture'=>array(
            'class'=>'system.test.CDbFixtureManager',
        ),
    ),
);
Copier après la connexion

Ensuite, nous fournissons des données d'état spécifiques sous le répertoire protected/tests/fixtures Ce répertoire peut être spécifié comme un autre répertoire en configurant l'attribut CDbFixtureManager::basePath dans le fichier de configuration de l'application. Les données d'état spécifiques sont composées de plusieurs noms. une combinaison de fichiers PHP de fichiers d'état spécifiques. Chaque fichier d'état spécifique renvoie un tableau, représentant la ligne initiale d'une table de données spécifique. Le nom du fichier et le nom de la table sont les mêmes. 🎜> table Exemple dans un fichier nommé 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,
    ),
);
Copier après la connexion

Comme nous pouvons le voir, les retours ci-dessus deux données de ligne. Chaque ligne représente un tableau, la clé est le nom du champ de la table et la valeur est la valeur du champ correspondant. L'index de chaque ligne est une chaîne appelée

alias de ligne (par exemple : , simple1). Plus tard, lorsque nous écrirons le script de test, nous pourrons facilement appeler cette ligne de données via son alias. Nous présenterons cela en détail dans la section suivante simple2

Vous remarquerez peut-être cela. nous n'avons pas spécifié la valeur du champ

dans l'état spécifique ci-dessus. En effet, le champ id a été défini comme une clé primaire à incrémentation automatique, et sa valeur sera également automatiquement générée lorsque nous insérons de nouvelles données. .id

Lorsque CDbFixtureManager est référencé pour la première fois, il vérifiera soigneusement tous les fichiers d'état spécifiques, puis les utilisera pour réinitialiser la table correspondante. Il efface la table, réinitialise la valeur de séquence d'auto-incrémentation de la table. clé primaire, puis insère la valeur de Réinitialiser la table en insérant des lignes de données d'un fichier d'état spécifique dans la table.

Parfois, nous ne souhaitons pas réinitialiser chaque table décrite dans un fichier d'état spécifique avant un ensemble de tests, car la réinitialisation de trop de fichiers d'état spécifiques peut prendre beaucoup de temps. Dans ce cas, nous pouvons écrire un script PHP pour personnaliser ce processus d'initialisation. Ce script doit être enregistré dans le répertoire où le fichier d'état spécifique est stocké. , et nommé

. Lorsque CDbFixtureManager détecte cela. Si le script existe, il exécutera ce script au lieu de réinitialiser chaque table.init.php

Ce n'est pas grave si vous n'aimez pas utiliser la méthode par défaut pour réinitialiser la table. , par exemple : effacez la table puis insérez des données d'état spécifiques. Si tel est le cas, nous pouvons écrire un script d'initialisation pour le fichier d'état spécifique spécifié. Ce script doit être nommé le nom de la table

. Le fichier de script d'initialisation de la table .init.php est Post. Lorsque CDbFixtureManager trouve ce script, il exécutera ce script au lieu d'utiliser la méthode par défaut pour réinitialiser la table.Post.init.php

Conseil : Trop de fichiers spécifiques à un état prolongent considérablement la durée du test. Par conséquent, vous ne devez fournir que des fichiers d'état spécifiques pour les tables dont les données changeront pendant le test. Les tables qui servent de services de recherche ne changeront pas et ne nécessitent donc pas d'état spécifique. fichiers.

Dans les deux sections suivantes, nous parlerons d'apprendre à utiliser des états spécifiques gérés par CDbFixtureManager dans les tests unitaires et fonctionnels

Ce qui précède est le contenu de Yii. Framework Official Guide Series 38 - Définition d'états spécifiques (fixtures) Pour plus de contenu connexe, veuillez prêter attention à PHP Chinese Net (www.php.cn) !


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Développement d'API RESTful dans le framework Yii Développement d'API RESTful dans le framework Yii Jun 21, 2023 pm 12:34 PM

Yii est un framework MVC hautes performances basé sur PHP. Il fournit un ensemble très riche d'outils et de fonctions pour prendre en charge le développement rapide et efficace d'applications Web. Parmi eux, la fonction RESTfulAPI du framework Yii a attiré de plus en plus l'attention et l'amour des développeurs, car l'utilisation du framework Yii peut facilement créer des interfaces RESTful hautes performances et facilement évolutives, offrant un support solide pour le développement d'applications Web. Introduction à RESTfulAPI RESTfulAPI est un

Middleware du framework Yii : prise en charge de plusieurs stockages de données pour les applications Middleware du framework Yii : prise en charge de plusieurs stockages de données pour les applications Jul 28, 2023 pm 12:43 PM

Middleware du framework Yii : fournir une prise en charge de plusieurs stockages de données pour les applications Introduction Le middleware (middleware) est un concept important dans le framework Yii, qui fournit une prise en charge de plusieurs stockages de données pour les applications. Le middleware agit comme un filtre, insérant du code personnalisé entre les requêtes et les réponses d'une application. Grâce au middleware, nous pouvons traiter, vérifier, filtrer les demandes, puis transmettre les résultats traités au middleware suivant ou au gestionnaire final. Le middleware du framework Yii est très simple à utiliser

Comment utiliser le framework Yii en PHP Comment utiliser le framework Yii en PHP Jun 27, 2023 pm 07:00 PM

Avec le développement rapide des applications Web, le développement Web moderne est devenu une compétence importante. De nombreux frameworks et outils sont disponibles pour développer des applications web efficaces, parmi lesquels le framework Yii est très populaire. Yii est un framework PHP hautes performances basé sur des composants qui utilise les derniers modèles de conception et technologies, fournit des outils et des composants puissants et est idéal pour créer des applications Web complexes. Dans cet article, nous verrons comment utiliser le framework Yii pour créer des applications Web. Installez d'abord le framework Yii,

Étapes pour mettre en œuvre la mise en cache des pages Web et la segmentation des pages à l'aide du framework Yii Étapes pour mettre en œuvre la mise en cache des pages Web et la segmentation des pages à l'aide du framework Yii Jul 30, 2023 am 09:22 AM

Étapes pour mettre en œuvre la mise en cache et la segmentation de pages Web à l'aide du framework Yii Introduction : Au cours du processus de développement Web, afin d'améliorer les performances et l'expérience utilisateur du site Web, il est souvent nécessaire de mettre en cache et de fragmenter la page. Le framework Yii fournit de puissantes fonctions de mise en cache et de mise en page, qui peuvent aider les développeurs à mettre en œuvre rapidement la mise en cache et la segmentation de pages Web. Cet article explique comment utiliser le framework Yii pour implémenter la mise en cache et la segmentation de pages Web. 1. Activez la mise en cache des pages Web Dans le framework Yii, la mise en cache des pages Web peut être activée via le fichier de configuration. Ouvrez le fichier de configuration principal co

Créer un site Web de guide de jeu en utilisant le framework Yii Créer un site Web de guide de jeu en utilisant le framework Yii Jun 21, 2023 pm 01:45 PM

Ces dernières années, avec le développement rapide de l'industrie du jeu, de plus en plus de joueurs ont commencé à rechercher des stratégies de jeu pour les aider à réussir. Par conséquent, la création d’un site Web de guides de jeu peut permettre aux joueurs d’obtenir plus facilement des guides de jeu, et en même temps, cela peut également offrir aux joueurs une meilleure expérience de jeu. Lors de la création d'un tel site Web, nous pouvons utiliser le framework Yii pour le développement. Le framework Yii est un framework de développement d'applications web basé sur le langage de programmation PHP. Il présente les caractéristiques d'une efficacité élevée, d'une sécurité et d'une forte évolutivité, et peut nous aider à créer un guide de jeu plus rapidement et plus efficacement.

Yii Framework Middleware : ajoutez des fonctionnalités de journalisation et de débogage à votre application Yii Framework Middleware : ajoutez des fonctionnalités de journalisation et de débogage à votre application Jul 28, 2023 pm 08:49 PM

Middleware du framework Yii : ajouter des fonctionnalités de journalisation et de débogage aux applications [Introduction] Lors du développement d'applications Web, nous devons généralement ajouter des fonctionnalités supplémentaires pour améliorer les performances et la stabilité de l'application. Le framework Yii fournit le concept de middleware qui nous permet d'effectuer certaines tâches supplémentaires avant et après que l'application traite la requête. Cet article explique comment utiliser la fonction middleware du framework Yii pour implémenter les fonctions de journalisation et de débogage. [Qu'est-ce qu'un middleware] Le middleware fait référence au traitement des demandes et des réponses avant et après que l'application traite la demande.

Comment utiliser des contrôleurs pour gérer les requêtes Ajax dans le framework Yii Comment utiliser des contrôleurs pour gérer les requêtes Ajax dans le framework Yii Jul 28, 2023 pm 07:37 PM

Dans le framework Yii, les contrôleurs jouent un rôle important dans le traitement des requêtes. En plus de gérer les requêtes de pages régulières, les contrôleurs peuvent également être utilisés pour gérer les requêtes Ajax. Cet article expliquera comment gérer les requêtes Ajax dans le framework Yii et fournira des exemples de code. Dans le framework Yii, le traitement des requêtes Ajax peut s'effectuer à travers les étapes suivantes : La première étape consiste à créer une classe contrôleur (Controller). Vous pouvez hériter de la classe de contrôleur de base yiiwebCo fournie par le framework Yii

Crypter et décrypter les données sensibles à l'aide du middleware du framework Yii Crypter et décrypter les données sensibles à l'aide du middleware du framework Yii Jul 28, 2023 pm 07:12 PM

Cryptage et déchiffrement des données sensibles à l'aide du middleware du framework Yii Introduction : Dans les applications Internet modernes, la confidentialité et la sécurité des données sont des problèmes très importants. Pour garantir que les données sensibles des utilisateurs ne soient pas accessibles à des visiteurs non autorisés, nous devons chiffrer ces données. Le framework Yii nous offre un moyen simple et efficace de mettre en œuvre les fonctions de cryptage et de décryptage des données sensibles. Dans cet article, nous expliquerons comment y parvenir en utilisant le middleware du framework Yii. Introduction au framework Yii Le framework Yii est un framework PHP hautes performances.

See all articles