Maison >développement back-end >tutoriel php >Un guide technique pour les tests simulés en PHP
Avec le développement continu du développement logiciel, de plus en plus de projets doivent être testés. La technologie des tests simulés est l’une des méthodes de test les plus importantes. Les tests simulés font référence à l'utilisation d'objets fictifs pour remplacer des objets réels afin de réaliser des tests détaillés du comportement d'exécution du code. Cet article présentera la technologie de test simulé en PHP, y compris les concepts de base, les méthodes de mise en œuvre, les méthodes d'utilisation et l'analyse des avantages et des inconvénients.
1. Concepts de base des tests simulés
Mock Object fait référence à un faux objet, utilisé pour remplacer l'objet réel et fournir une imitation des interfaces et des comportements. Les objets simulés par Mock Object sont généralement créés manuellement par les programmeurs.
Stub est un type d'objet simulé, qui ne fournit généralement qu'une réponse très simple, comme renvoyer une valeur. Les stubs peuvent être utilisés pour tester les valeurs de retour simples des fonctions, les résultats des requêtes de base de données, les connexions réseau, etc.
Mock est une autre forme de Mock Object En plus de fournir une réponse simple, il peut également enregistrer les appels et les paramètres passés à ses méthodes. Le plus grand avantage des tests simulés est qu’ils peuvent vérifier si le code est appelé correctement.
Spy est une autre forme d'objet simulé, qui peut enregistrer les paramètres transmis et les méthodes appelées.
2. Méthode d'implémentation
Pour implémenter les tests Mock en PHP, il existe généralement deux manières : l'implémentation manuelle et l'utilisation du framework Mock.
La clé pour implémenter manuellement les tests simulés est d'utiliser le mécanisme de réflexion de PHP pour accéder aux classes et aux méthodes. Les étapes générales sont les suivantes :
Il existe de nombreux frameworks Mock actuellement utilisés pour PHP, tels que PHPUnit, Mockery, Phake, etc. Ils offrent tous deux un haut degré de simulation et de testabilité.
Parmi eux, PHPUnit est un framework de test populaire et un framework de test Mock. Mockery est un framework de test Mock axé sur le code avec une syntaxe claire et une configuration flexible.
3. Comment utiliser
Ce qui suit prend le framework PHPUnit comme exemple pour présenter l'utilisation des tests simulés en PHP.
Pour installer PHPUnit, vous pouvez utiliser Composer via la commande suivante :
composer require --dev phpunit/phpunit
Lors de l'écriture de cas de test, vous devez créer un Mock objets et objets Stub . PHPUnit fournit quelques méthodes pour créer ces objets.
Par exemple, nous pouvons créer un objet Mock en utilisant la méthode suivante :
$mock = $this->getMockBuilder('SomeClass')->getMock();
Nous pouvons également créer un Stub en utilisant ce qui suit méthode :
$stub = $this->getMockBuilder('SomeClass')->disableOriginalConstructor()->getMock();
Lorsque vous utilisez des tests simulés, vous pouvez vous moquer de fonctions ou de méthodes d'instance en écrivant des cas de test, comme indiqué ci-dessous :
public function testFunctionMock()
{
$function = $this->getMockBuilder('NamespaceFunctions')->setMethods(['doSome'])->getMock(); $function->expects($this->once()) ->method('doSome') ->willReturn('hello'); $this->assertEquals('hello', $function->doSome());
}
Dans le cas de test ci-dessus, nous nous sommes moqués d'une fonction et avons ajouté la méthode doSome en utilisant setMethods. Ensuite, nous définissons une attente pour la méthode fictive : elle doit être appelée une seule fois et renvoyer la valeur « hello ».
Utilisez le propre programme d'exécution de tests de PHPUnit pour exécuter des cas de test, comme indiqué ci-dessous :
./vendor/bin/phpunit tests
Quatre analyses des avantages et des inconvénients
Les tests simulés peuvent non seulement être efficaces. Optimisez le code, accélérez les tests et permettez aux programmeurs de se concentrer sur l'amélioration de la qualité du code.
5. Résumé
La technologie de test simulé est un élément indispensable des tests logiciels. Pour implémenter la technologie de test simulé en PHP, vous pouvez utiliser des frameworks de test tels que PHPUnit, ou vous pouvez l'implémenter manuellement. Les tests simulés peuvent vérifier l'exactitude du code et améliorer la fiabilité du code ainsi que la qualité du code du programmeur en simulant et en couvrant tous les chemins d'exécution du code. Bien que la technologie de test simulé nécessite un certain temps et des efforts pour écrire et maintenir des cas de test, elle permet en général aux développeurs d'utiliser le code avec plus de confiance, améliorant ainsi la qualité du code et l'efficacité des tests.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!