Heim >Backend-Entwicklung >PHP-Tutorial >Wie erweitere ich PHP-Funktionen mit Mockery?

Wie erweitere ich PHP-Funktionen mit Mockery?

WBOY
WBOYOriginal
2024-04-11 22:18:02848Durchsuche

Verwenden Sie Mockery, um PHP-Funktionen zu erweitern und das Verhalten der Funktion zu simulieren, indem Sie die folgenden Schritte ausführen: Installieren Sie die Mockery-Bibliothek. Verwenden Sie Mockery::mock('alias:function name'), um eine Scheinfunktion zu erstellen, wobei Alias ​​verwendet wird, um auf die Scheinfunktion zu verweisen, und der Funktionsname die Funktion ist, die verspottet werden muss. Verwenden Sie ShouldReceive('function name') und andReturn(), um den Rückgabewert oder das Verhalten der simulierten Funktion anzugeben. Eine Scheinfunktion kann über ihren Alias ​​aufgerufen werden und liefert die erwarteten Ergebnisse.

如何使用 Mockery 扩展 PHP 函数?

Wie verwende ich Mockery, um PHP-Funktionen zu erweitern?

Vorwort

Bei Unit-Tests ist Mocking ein leistungsstarkes Werkzeug, mit dem wir gefälschte Objekte oder Funktionen erstellen können, ohne direkt mit ihnen interagieren zu müssen. Mockery ist eine beliebte Mocking-Bibliothek in PHP, die eine einfache und flexible Möglichkeit bietet, eine Vielzahl von Abhängigkeiten zu verspotten.

Mockery einrichten

Um Mockery nutzen zu können, müssen Sie es zunächst installieren:

composer require mockery/mockery

PHP-Funktionen erweitern

Mockery kann PHP-Funktionen erweitern, was bedeutet, dass wir das Verhalten jeder PHP-Funktion ersetzen können, um die gewünschten Ergebnisse zu liefern bei Tests.

Syntax:

Mockery::mock('alias:函数名称');
  • alias: Der Name, der zur Referenzierung der simulierten Funktion verwendet wird
  • alias:用于引用模拟函数的名称
  • 函数名称:被模拟的函数名称

实战案例

示例 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;
    });

这将创建一个名为 randFunktionsname: Der Name der simulierten Funktion li>

Praktischer Fall

Beispiel 1: Simulieren der Funktion time()

🎜rrreee🎜Dadurch wird eine simulierte Funktion mit dem Namen time erstellt Wird aufgerufen, wenn 1234567890 zurückgegeben wird. 🎜🎜🎜Beispiel 2: Simulation der Funktion rand() 🎜🎜rrreee🎜Dadurch wird eine Simulationsfunktion mit dem Namen rand erstellt, die beim Aufruf den angegebenen Mindestwert plus 1 Zufall zurückgibt Nummer. 🎜🎜Fazit🎜🎜Durch die Verwendung von Mockery zur Erweiterung von PHP-Funktionen können wir das Verhalten von Abhängigkeiten leicht nachahmen und uns auf das Testen der spezifischen Logik des Codes konzentrieren. Dies verbessert die Unit-Test-Funktionen erheblich und ermöglicht es uns, Fehler effizienter zu finden und zu beheben. 🎜

Das obige ist der detaillierte Inhalt vonWie erweitere ich PHP-Funktionen mit Mockery?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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