Avec la sortie de PHP 7, les développeurs sont accueillis avec de nombreuses nouvelles fonctionnalités et améliorations. Parmi elles, la syntaxe Expectations est l’une des fonctionnalités les plus populaires. Cela peut grandement simplifier l'écriture des assertions et rendre le code plus lisible et maintenable. Cet article présentera l'utilisation de base de la syntaxe Expectations et démontrera ses avantages à travers des exemples.
En PHP, les assertions sont utilisées pour vérifier les conditions dans le code. Les assertions traditionnelles utilisent généralement la fonction assert(), qui prend une expression conditionnelle comme paramètre et renvoie une erreur lorsque la condition n'est pas remplie. Cette façon d’écrire est à la fois longue et peu intuitive.
La syntaxe Expectations simplifie l'écriture des assertions via la fonction expect(). Nous pouvons utiliser expect() pour vérifier si une valeur ou une expression correspond à nos attentes. Lorsqu'une assertion échoue, expect() lève une exception contenant des informations sur l'erreur et l'emplacement de l'échec de l'assertion.
Ce qui suit utilise des exemples spécifiques pour montrer comment utiliser la syntaxe Expectations pour améliorer les assertions.
Supposons que nous ayons une fonction add() qui ajoute deux nombres et renvoie le résultat. Nous pouvons utiliser la syntaxe Expectations pour vérifier que la valeur de retour d'une fonction est celle attendue.
function add($a, $b) {
return $a + $b;
}
// utiliserExpectationsassertion de syntaxeadd()Si la valeur de retour de la fonction est3
expect(add(1, 2))->toBe(3);Dans cet exemple, la fonction expect() affirme si la valeur de retour de add(1, 2) est égale à 3. Si l'assertion échoue, une AssertionException détaillée sera levée.
La syntaxe des attentes fonctionne également avec les assertions de tableau. L'exemple suivant montre comment utiliser toBe() et toContain() pour vérifier le contenu d'un tableau.
$data = ['apple', 'banana', 'orange'];
// affirmer un tableau$dataLa longueur est3
expect($data)->toHaveLength(3);
// affirmer un tableau$dataContient'banana'
expect($data)->toContain('banana');La longueur du tableau et les éléments contenus peuvent être facilement vérifiés via les fonctions toHaveLength() et toContain().
En plus des fonctions d'assertion intégrées, les fonctions d'assertion peuvent également être personnalisées pour répondre aux besoins spécifiques du projet.
function isEven($num) {
return $num % 2 == 0;
}
// Affirmer des numéros6est un nombre pair
expect(6)->toBeTrue(isEven);Cet exemple définit la fonction isEven() pour déterminer si un nombre est pair, puis utilise toBeTrue() pour affirmer si le nombre 6 est pair.
La syntaxe des attentes de PHP 7 fournit une manière plus concise et intuitive d'affirmer. Grâce à la fonction expect(), les développeurs peuvent écrire du code hautement lisible et facile à maintenir. Les exemples ci-dessus aident à comprendre et à appliquer rapidement la syntaxe Expectations et constituent un outil puissant pour optimiser le code de test PHP.