Utilisez Mockery pour étendre les fonctions PHP et simuler le comportement de la fonction en suivant ces étapes : Installez la bibliothèque Mockery. Utilisez Mockery::mock('alias:function name') pour créer une fonction fictive, où l'alias est utilisé pour faire référence à la fonction simulée et le nom de la fonction est la fonction qui doit être simulée. Utilisez ShouldReceive('function name') et andReturn() pour spécifier la valeur de retour ou le comportement de la fonction simulée. Une fonction fictive peut être appelée via son alias et renverra les résultats attendus.
Dans les tests unitaires, le mocking est un outil puissant qui nous permet de créer de faux objets ou fonctions sans avoir à interagir directement avec eux. Mockery est une bibliothèque moqueuse populaire en PHP qui fournit un moyen simple et flexible de simuler un large éventail de dépendances.
Pour utiliser Mockery, vous devez d'abord l'installer :
composer require mockery/mockery
Mockery peut étendre les fonctions PHP, ce qui signifie que nous pouvons remplacer le comportement de n'importe quelle fonction PHP pour fournir les résultats souhaités dans les tests.
Syntaxe :
Mockery::mock('alias:函数名称');
alias
: Le nom utilisé pour référencer la fonction simuléealias
:用于引用模拟函数的名称函数名称
:被模拟的函数名称示例 1:模拟 time()
函数
$mockTime = Mockery::mock('alias:time'); $mockTime->shouldReceive('time') ->andReturn(1234567890);
这将创建一个名为 time
的模拟函数,当被调用时将返回 1234567890。
示例 2:模拟 rand()
函数
$mockRand = Mockery::mock('alias:rand'); $mockRand->shouldReceive('rand') ->andReturnUsing(function($min, $max) { return $min + 1; });
这将创建一个名为 rand
Nom de la fonction
: Le nom de la fonction simulée li>
Exemple 1 : Simuler la fonction time()
time
qui sera appelé quand reviendra 1234567890. 🎜🎜🎜Exemple 2 : simulez la fonction rand()
🎜🎜rrreee🎜Cela créera une fonction simulée nommée rand
qui, lorsqu'elle est appelée, renverra la valeur minimale spécifiée plus 1 aléatoire nombre. 🎜🎜Conclusion🎜🎜En utilisant Mockery pour étendre les fonctions PHP, nous pouvons facilement nous moquer du comportement des dépendances et nous concentrer sur le test de la logique spécifique du code. Cela améliore considérablement les capacités de tests unitaires et nous permet de rechercher et de corriger les bogues plus efficacement. 🎜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!